ES6 の拡張シンボルの概要

不言
リリース: 2018-11-14 15:41:54
転載
3589 人が閲覧しました

この記事では、ES6 の拡張シンボルについて説明します。必要な方は参考にしていただければ幸いです。

概要

展開シンボルは、文字列の分割、配列の結合、配列のコピー、オブジェクトの結合、オブジェクトのコピーによく使用します。

0x001 構文

...iterableObj
ログイン後にコピー

0x002 関数呼び出し時のパラメータ展開

これは、他のパラメータとは異なり、関数呼び出し時にパラメータを展開します。残りのパラメータは関数宣言で使用中です

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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:https://segmentfault.com/a/1190000016977223
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート