次のコードを記述して、それをBabel(6.5.0)でトランスパイルすると、正しく動作します。
function foo (first: string, second: number) {
// code here
}
: string
および: number
は、トランスパイルされたES5コードから削除されています。
間違ったパラメータタイプを使用して関数を呼び出しても、エラーや警告は発生しません。機能がなくても参考になります。
ES6のパラメーター入力に関する適切な情報がインターネット上で見つかりません。パラメータの入力はES6の一部でもありますか?
編集:この質問は以下のコメントで回答され、私はそれらに基づいて公式回答をラップしました。
Joe Clay 、 Bergi および 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を使用してコードをトランスパイルする場合に使用できます。