「any」に一致しますが、配列には一致しません

トーマス・リード

関数を返すように入力しようとしていますanyが、array。は返しません

このようなもの:

Not<any, any[]>

interface Specific {
  name: string;
}

const makeOneCore = (): any => {
  return {};
};

const makeManyCore = (): any[] => {
  return [{}];
};

const makeOne = (): Specific => {
  return makeOneCore();
};

const makeMany = (): Specific[] => {
  return makeManyCore();
};

const makeManyShouldFail = (): Specific[] => {
  return makeOneCore();
};

私は、入力したいmakeOneCoreそれはとてもmakeManyShouldFailそれが試合をする必要があるため、typescriptですエラーになるanyことが可能であるとしてarray

hello有効であり、そうboomでない方法を探しています。

type NotArray<T> = T extends Array<any> ? never: T;

type v = NotArray<Array<any>>;

const hello: v = {};
const boom: v = [];

console.log({ hello, boom });
Przemyslaw Jan Beigert

このようなものを試してください

type NotArray<T> = T extends Array<any> ? never: T;

type A = NotArray<Array<any>>; // never
type B = NotArray<Array<string>>; // never
type C = NotArray<boolean>; // boolean

タイプneverは他のタイプに割り当てることができます

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

式に一致しますが、#で始まる行には一致しません

分類Dev

式に一致しますが、#で始まる行には一致しません

分類Dev

正規表現は空白に一致しますが、タブには一致しません(php)

分類Dev

正規表現は%に一致しますが、\%には一致しません

分類Dev

正規表現は* abc *に一致しますが、* bc * abc * bc *には一致しません

分類Dev

perlはこれに一致しますが、そのパターンには一致しません

分類Dev

PHP PCREは句読点に一致しますが、++には一致しません

分類Dev

1つの改行に一致しますが、2つには一致しません

分類Dev

検索から2単語を除外-/ word /に一致しますが、/ a word /には一致しません

分類Dev

正規表現はドットと一致しますが、最後には一致しません

分類Dev

0〜9および[[:digit:]]は1〜10に一致しますが、それ以上は一致しません

分類Dev

空白は一致しますが改行は一致しません

分類Dev

正規表現は文字列の一部に一致しますが、文字列全体には一致しません

分類Dev

Elasticsearchは文字列の配列に一致します

分類Dev

Rethinkdb 文字列は 2 つの配列に一致します

分類Dev

文字列の比較が完全に一致していません

分類Dev

文字列に一致しますが、別の文字列が含まれている場合は一致しません

分類Dev

一致する文字列のタイプが一致しません

分類Dev

'operator <<'に一致しません

分類Dev

'operator ='に一致しません

分類Dev

演算子に一致しません

分類Dev

n個の数字の部分文字列に一致しますが、その後に数字がある場合は一致しません

分類Dev

Perl文字列置換:正規表現の一部に一致しますが、置換はしません

分類Dev

\ s +はすべての空白に一致しませんか?

分類Dev

軸がpytorchの配列と一致しません

分類Dev

部分文字列の前の数字と一致しますが、文字の前にある場合は一致しません

分類Dev

正規表現のヘルプ-特定の文字列に一致しますが、[!foobar!]でラップされている場合は一致しません

分類Dev

C ++正規表現が一致しますが、一致しません

分類Dev

文字列のgrep部分が一致し、一致しませんか?

Related 関連記事

  1. 1

    式に一致しますが、#で始まる行には一致しません

  2. 2

    式に一致しますが、#で始まる行には一致しません

  3. 3

    正規表現は空白に一致しますが、タブには一致しません(php)

  4. 4

    正規表現は%に一致しますが、\%には一致しません

  5. 5

    正規表現は* abc *に一致しますが、* bc * abc * bc *には一致しません

  6. 6

    perlはこれに一致しますが、そのパターンには一致しません

  7. 7

    PHP PCREは句読点に一致しますが、++には一致しません

  8. 8

    1つの改行に一致しますが、2つには一致しません

  9. 9

    検索から2単語を除外-/ word /に一致しますが、/ a word /には一致しません

  10. 10

    正規表現はドットと一致しますが、最後には一致しません

  11. 11

    0〜9および[[:digit:]]は1〜10に一致しますが、それ以上は一致しません

  12. 12

    空白は一致しますが改行は一致しません

  13. 13

    正規表現は文字列の一部に一致しますが、文字列全体には一致しません

  14. 14

    Elasticsearchは文字列の配列に一致します

  15. 15

    Rethinkdb 文字列は 2 つの配列に一致します

  16. 16

    文字列の比較が完全に一致していません

  17. 17

    文字列に一致しますが、別の文字列が含まれている場合は一致しません

  18. 18

    一致する文字列のタイプが一致しません

  19. 19

    'operator <<'に一致しません

  20. 20

    'operator ='に一致しません

  21. 21

    演算子に一致しません

  22. 22

    n個の数字の部分文字列に一致しますが、その後に数字がある場合は一致しません

  23. 23

    Perl文字列置換:正規表現の一部に一致しますが、置換はしません

  24. 24

    \ s +はすべての空白に一致しませんか?

  25. 25

    軸がpytorchの配列と一致しません

  26. 26

    部分文字列の前の数字と一致しますが、文字の前にある場合は一致しません

  27. 27

    正規表現のヘルプ-特定の文字列に一致しますが、[!foobar!]でラップされている場合は一致しません

  28. 28

    C ++正規表現が一致しますが、一致しません

  29. 29

    文字列のgrep部分が一致し、一致しませんか?

ホットタグ

アーカイブ