anyとany []の違いは何ですか?

ラメシュ・ラジェンドラン

anyとany []の違いは何ですか?


例1(期待どおりに機能)

name1: any;
name2: any[];
this.name1 = this.name2;

例2(これも期待どおりに機能しています)

name1: any;
name2: any[];
this.name2 = this.name1;

anyデータ型を許可するtypescriptがアクセスany[]データ型になり得る理由any[]データ型と同じようにデータのアクセスany型にすることができますか?そしてどちらが使用するのが最適でしょうか?また、データ型がのような単なるオブジェクト(配列ではない)の場合string or number or object or anyany[ ]実行時またはコンパイル時のエラーを表示せずに、なぜそのオブジェクト型を受け入れるのでしょうか。


crackmstr

このTypeScriptコードを見ると:

let name1: any = "John";
let name2: any[] = ["Mary", "Sue", "Sally"];
name1 = name2;

let name3: any[] = ["Luke", "Paul", "Ringo"];
let name4: any = "Mark";
name3 = name4;

コンパイル先のJavascriptは次のとおりです。

var name1 = "John";
var name2 = ["Mary", "Sue", "Sally"];
name1 = name2;
var name3 = ["Luke", "Paul", "Ringo"];
var name4 = "Mark";
name3 = name4;

JavaScript変数は動的であり、型が設定されていません。これはTypeScriptコンパイラによって警告またはエラーとして報告される可能性があると想像できますが、それによってJavaScriptの生成が停止したり、JavaScriptの実行が妨げられたりすることはありません。

したがって、any/any[]割り当てに関する現在のコンパイルエラーや警告はありませんがany[]、開発者に期待を通知するために使用できます。

注:これは、私が作成したり、使用することを提案したりするコードではありません。これは、値を含むOPコードであり、結果のJavaScriptがどのようになるかを示しています。また、JavaScriptにコンパイルされるため、変数には動的な型があるため、型による実行時エラーは発生しません。これが、TypeScriptを使用する理由の1つです。コンパイル時の静的型チェックです。このため、一つは通常避けるだろうanyし、any[]クラスまたはインタフェースの賛成でより良いデータを表しています。この場合、stringvs。string[](またはその他のタイプ)コンパイラエラーを表示します。

この例では、変数が割り当てから型を推測し、それらの使用法が後続のコードで型チェックされるためname1 = name2との両方name3 = name4がコンパイル時エラーになります。

let name1 = "John";
let name2 = ["Mary", "Sue", "Sally"];
name1 = name2; //Type 'string[]' is not assignable to type 'string'.

let name3 = ["Luke", "Paul", "Ringo"];
let name4 = "Mark";
name3 = name4; //Type 'string' is not assignable to type 'string[]'.

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

Typescriptの()=> anyと{():any}の違いは何ですか

分類Dev

sql-serverの「ANY」と「EXISTS」の違いは何ですか

分類Dev

CrystalのJSON :: AnyとJSON :: Typeの違いは何ですか?

分類Dev

typescriptのany []と[]の違いは何ですか

分類Dev

Promise.any()とPromise.race()の違いは何ですか

分類Dev

`mixed`と` any`の違いは何ですか?

分類Dev

`auto`と` std :: any`の違いは何ですか?

分類Dev

scala:AnyとAnyRefの違いは何ですか?

分類Dev

docker restart_policyon-failureとanyの違いは何ですか

分類Dev

.Any(s => s.Contains)と.Containsの違いは何ですか?

分類Dev

「ANY」とは何ですか?「ANY」とどう違うのですか?

分類Dev

any []とany [] = []の違い

分類Dev

ジェネリックType(T)とtypescriptのanyの違いは何ですか

分類Dev

AnyのScalaリストとAnyを拡張するもののリスト。違いは何ですか?

分類Dev

Swift 3のAny、Hashable、AnyHashableの違いは何ですか?

分類Dev

Rプログラミングでは、anyと|の違いは何ですか。(または)ブール演算子?

分類Dev

「+ =」と「= +」の違いは何ですか?

分類Dev

/ * ... * /と/ ** ... * /の違いは何ですか

分類Dev

「.equals」と「==」の違いは何ですか?

分類Dev

$ *と$ @の違いは何ですか

分類Dev

「$(this)」と「this」の違いは何ですか?

分類Dev

list()と[]の違いは何ですか

分類Dev

dict()と{}の違いは何ですか?

分類Dev

+ =と= +の違いは何ですか?

分類Dev

#{} $ {}と%{}の違いは何ですか?

分類Dev

「 」の違いは何ですか と「」?

分類Dev

=と==の違いは何ですか?

分類Dev

=と==の違いは何ですか?

分類Dev

$( "")と$ .find( "")の違いは何ですか?

Related 関連記事

  1. 1

    Typescriptの()=> anyと{():any}の違いは何ですか

  2. 2

    sql-serverの「ANY」と「EXISTS」の違いは何ですか

  3. 3

    CrystalのJSON :: AnyとJSON :: Typeの違いは何ですか?

  4. 4

    typescriptのany []と[]の違いは何ですか

  5. 5

    Promise.any()とPromise.race()の違いは何ですか

  6. 6

    `mixed`と` any`の違いは何ですか?

  7. 7

    `auto`と` std :: any`の違いは何ですか?

  8. 8

    scala:AnyとAnyRefの違いは何ですか?

  9. 9

    docker restart_policyon-failureとanyの違いは何ですか

  10. 10

    .Any(s => s.Contains)と.Containsの違いは何ですか?

  11. 11

    「ANY」とは何ですか?「ANY」とどう違うのですか?

  12. 12

    any []とany [] = []の違い

  13. 13

    ジェネリックType(T)とtypescriptのanyの違いは何ですか

  14. 14

    AnyのScalaリストとAnyを拡張するもののリスト。違いは何ですか?

  15. 15

    Swift 3のAny、Hashable、AnyHashableの違いは何ですか?

  16. 16

    Rプログラミングでは、anyと|の違いは何ですか。(または)ブール演算子?

  17. 17

    「+ =」と「= +」の違いは何ですか?

  18. 18

    / * ... * /と/ ** ... * /の違いは何ですか

  19. 19

    「.equals」と「==」の違いは何ですか?

  20. 20

    $ *と$ @の違いは何ですか

  21. 21

    「$(this)」と「this」の違いは何ですか?

  22. 22

    list()と[]の違いは何ですか

  23. 23

    dict()と{}の違いは何ですか?

  24. 24

    + =と= +の違いは何ですか?

  25. 25

    #{} $ {}と%{}の違いは何ですか?

  26. 26

    「 」の違いは何ですか と「」?

  27. 27

    =と==の違いは何ですか?

  28. 28

    =と==の違いは何ですか?

  29. 29

    $( "")と$ .find( "")の違いは何ですか?

ホットタグ

アーカイブ