TypeスクリプトとJavaScriptの使い分け=」(矢印)

3987 ワード

関数宣言
JavaScriptでは、関数宣言と関数式(Function Expression):
//     (Function Declaration)
function sum(x, y) {
    return x + y;
}

//      (Function Expression)
let mySum = function (x, y) {
    return x + y;
};

1つの関数には入力と出力があります.TypeScriptで制約するには、関数宣言のタイプ定義が簡単であることを考慮する必要があります.
function sum(x: number, y: number): number {
    return x + y;
}

余分な(または要求より少ない)パラメータを入力することは許可されません.
関数式
関数式(Function Expression)の定義を書く場合は、次のようになります.
let mySum = function (x: number, y: number): number {
    return x + y;
};

これはコンパイルにより可能であるが,実際には上のコードは等号右側の匿名関数のみをタイプ定義しているのに対し,等号左のmySumは,付与操作によるタイプ推論により推定される.mySumに手動でタイプを追加する必要がある場合は、次のようにします.
let mySum: (x: number, y: number) => number = function (x: number, y: number): number {
    return x + y;
};

TypeScriptの=>とES 6の=>を混同しないように注意してください.
TypeScriptのタイプ定義では、=>は関数の定義を表し、左は入力タイプ、右は括弧で囲み、右は出力タイプです.
ES 6では、=>を矢印関数と呼び、非常に広く応用されており、ES 6の矢印関数を参照することができる.