1. ホーム
  2. typescript

[解決済み] TypeScriptの"=>"の意味とは?(ファットアロー)

2023-02-10 08:10:31

質問

私はTypeScriptを学び始めたばかりですが、このsytaxを使ったコードがたくさんあるのを見かけました。 => . を読んで調べてみました。 TypeScript バージョン 1.6 の仕様 を読んだり、ググったりして調べました。の意味がまだ理解できません。 => .

という感じが私にはします。 ポインタ をC++で使っています。しかし、確認ができません。どなたか、以下の例で解説していただけると助かります。ありがとうございました。

以下は、Typescript の仕様書を読んでいて見つけた例です。

オブジェクトの種類

var MakePoint: () => {  
    x: number; y: number;  
};

質問です。このコードは何をしているのでしょうか?というオブジェクトを作成しています。 メイクポイント というオブジェクトを作成し、xとyのフィールドは という型なのでしょうか?のコンストラクタか関数でしょうか? MakePoint ?

関数の種類

function vote(candidate: string, callback: (result: string) => any) {  
 // ...  
}

質問です。の意味は何ですか? => any ? 文字列型を返さなければならないのでしょうか?

どなたか、これらの例の違いや目的をわかりやすく説明していただけませんか?お忙しい中、ありがとうございました。

どのように解決するのですか?

おそらく、型情報と関数宣言を混同しているのでしょう。もし、あなたが をコンパイルすると、以下のようになります。 :

var MakePoint: () => {x: number; y: number;};

を生成していることがわかると思います。

var MakePoint;

TypeScriptでは : の後にあり = (代入) の前にあるのは型情報です。つまり、この例では、MakePoint の型は引数を 0 個取り、2 つのプロパティを持つオブジェクトを返す関数であると言っているのです。 xy は、どちらも数字です。これは、その変数に関数を代入しているわけではありません。これに対して、コンパイルは

var MakePoint = () => 1;

を生成します。

var MakePoint = function () { return 1; };

なお、この場合 => という太い矢印が代入演算子の後にあることに注意してください。