この記事では、ES6 の拡張シンボルについて説明します。必要な方は参考にしていただければ幸いです。
展開シンボルは、文字列の分割、配列の結合、配列のコピー、オブジェクトの結合、オブジェクトのコピーによく使用します。
...iterableObj
これは、他のパラメータとは異なり、関数呼び出し時にパラメータを展開します。残りのパラメータは関数宣言で使用中です
myFunction(...iterableObj);
Case
function add(a, b){ return a + b } add(...[1,2]) // 相当于 add(1,2) -> 3
配列のマージに使用できます
[...[1,2,3],4] // 相当于[1,2,3].push(4) -> [1,2,3,4] [...'1234'] // 相当于 '1234'.split("")
オブジェクトに使用可能 マージ、オブジェクトコピー
{...{name:1},age:2} // 相当于 Objeact.assign({},{name:1},{age:2}) -> {name:1,age:2} {...{name:1}} // 相当于 Object.assign({},{name:1}) -> {name:1}
文字列/配列展開
ソースコード
[...'1234']
翻訳後
function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } [].concat(_toConsumableArray('1234'));
オブジェクト展開
##ソースコードlet a={...{name:1}}
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; var a = _extends({ name: 1 });
以上がES6 の拡張シンボルの概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。