コトルにはExtensionsと呼ばれる機能があり、実際にそれを拡張せずにあらゆるタイプ(組み込みタイプを含む)を「拡張」することができます。例えばTypeScriptにはKotlinのような拡張機能がありますか?
:
function Array<T>.swap(i1: number, i2: number) {
let tmp = this[i1]
this[i1] = this[i2]
this[i2] = tmp
}
let list = [1, 2, 3]
list.swap(0, 2)
console.log(list) // => 3, 2, 1
楽しい部分は、ベースタイプの延通常とは異なり、このアプローチが配列又はそのプロトタイプチェーンを変更しない、ということです。私はそれが活字体で同じことを行うことが可能ですかしら、または将来的にこれをサポートする計画があるかどう
function _array_extensions_swap(i1, i2) {
let tmp = this[i1]
this[i1] = this[i2]
this[i2] = tmp
}
let list = [1, 2, 3]
_array_extensions_swap(list, 0, 2)
console.log(list) // => 3, 2, 1
:
生成されたJSコードは次のようになりますか?
私はそれが計画されていないことを推測するが、JavaScriptからあまり逸脱しているようです。 TypeScriptは、JavaScriptが将来的にその機能を利用することを期待して、JavaScriptに比較的近いとされています。私はあなたの質問があるべきだと思う:JavaScriptはこれを提供するか? –