web-dev-qa-db-ja.com

Babel:ES6の関数パラメーターのタイプ

次のコードを記述して、それをBabel(6.5.0)でトランスパイルすると、正しく動作します。

function foo (first: string, second: number) {
    // code here
}

: stringおよび: numberは、トランスパイルされたES5コードから削除されています。

間違ったパラメータタイプを使用して関数を呼び出しても、エラーや警告は発生しません。機能がなくても参考になります。

ES6のパラメーター入力に関する適切な情報がインターネット上で見つかりません。パラメータの入力はES6の一部でもありますか?

編集:この質問は以下のコメントで回答され、私はそれらに基づいて公式回答をラップしました。

14

Joe ClayBergi および Felix Kling のコメントセクションの回答に感謝します。誰も公式に回答していないため、ディスカッションの回答を以下にまとめました。

-

一部のBabelプラグイン(例 babel-plugin-transform-flow-strip-types )がパラメータタイプを削除するようです蒸散中。私は babel-plugin-transform-flow-strip-types を含む babel-preset-react を使用しています。

babel-plugin-transform-flow-strip-typesの動作の例 http://babeljs.io/docsからコピーして貼り付けたもの)/plugins/transform-flow-strip-types /

In:

function foo(one: any, two: number, three?): string {}

アウト:

function foo(one, two, three) {}

結論、パラメータタイプは有効なES6ではありませんが、ストリッピングプラグインでBabelを使用してコードをトランスパイルする場合に使用できます。

12