久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      es6中的symbol有什么作用

      es6中symbol的作用:1、用于作為屬性名,symbol表示獨一無二的值,可以保證屬性不重名,也可以在類的外部訪問;2、用于定義常量,是一種新的原始數(shù)據(jù)類型,語法為“const name=Symbol("value")”。

      es6中的symbol有什么作用

      本教程操作環(huán)境:windows10系統(tǒng)、ECMAScript 6.0版、Dell G3電腦。

      es6中的symbol有什么作用

      ES6 引入了一種新的原始數(shù)據(jù)類型 Symbol ,表示獨一無二的值,最大的用法是用來定義對象的唯一屬性名。

      ES6 數(shù)據(jù)類型除了 Number 、 String 、 Boolean 、 Object、 null 和 undefined ,還新增了 Symbol 。

      基本用法

      Symbol 函數(shù)棧不能用 new 命令,因為 Symbol 是原始數(shù)據(jù)類型,不是對象??梢越邮芤粋€字符串作為參數(shù),為新創(chuàng)建的 Symbol 提供描述,用來顯示在控制臺或者作為字符串的時候使用,便于區(qū)分。

      let sy = Symbol("KK"); console.log(sy);   // Symbol(KK) typeof(sy);        // "symbol"   // 相同參數(shù) Symbol() 返回的值不相等 let sy1 = Symbol("kk");  sy === sy1;       // false

      作為屬性名

      用法

      由于每一個 Symbol 的值都是不相等的,所以 Symbol 作為對象的屬性名,可以保證屬性不重名。

      es6中的symbol有什么作用

      Symbol 作為對象屬性名時不能用.運算符,要用方括號。因為.運算符后面是字符串,所以取到的是字符串 sy 屬性,而不是 Symbol 值 sy 屬性。

      let syObject = {}; syObject[sy] = "kk";   syObject[sy];  // "kk" syObject.sy;   // undefined

      注意點

      Symbol 值作為屬性名時,該屬性是公有屬性不是私有屬性,可以在類的外部訪問。但是不會出現(xiàn)在 for…in 、 for…of 的循環(huán)中,也不會被 Object.keys() 、 Object.getOwnPropertyNames() 返回。如果要讀取到一個對象的 Symbol 屬性,可以通過 Object.getOwnPropertySymbols() 和 Reflect.ownKeys() 取到。

      let syObject = {}; syObject[sy] = "kk"; console.log(syObject);   for (let i in syObject) {   console.log(i); }    // 無輸出   Object.keys(syObject);                     // [] Object.getOwnPropertySymbols(syObject);    // [Symbol(key1)] Reflect.ownKeys(syObject);                 // [Symbol(key1)]

      定義常量

      在 ES5 使用字符串表示常量。例如:

      const COLOR_RED = "red"; const COLOR_YELLOW = "yellow"; const COLOR_BLUE = "blue";

      但是用字符串不能保證常量是獨特的,這樣會引起一些問題:

      但是使用 Symbol 定義常量,這樣就可以保證這一組常量的值都不相等。用 Symbol 來修改上面的例子。

      const COLOR_RED = Symbol("red"); const COLOR_YELLOW = Symbol("yellow"); const COLOR_BLUE = Symbol("blue");   function ColorException(message) {    this.message = message;    this.name = "ColorException"; } function getConstantName(color) {     switch (color) {         case COLOR_RED :             return "COLOR_RED";         case COLOR_YELLOW :             return "COLOR_YELLOW ";         case COLOR_BLUE:             return "COLOR_BLUE";         default:             throw new ColorException("Can't find this color");     } }   try {        var color = "green"; // green 引發(fā)異常    var colorName = getConstantName(color); } catch (e) {    var colorName = "unknown";    console.log(e.message, e.name); // 傳遞異常對象到錯誤處理 }

      Symbol 的值是唯一的,所以不會出現(xiàn)相同值得常量,即可以保證 switch 按照代碼預(yù)想的方式執(zhí)行。

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號