ES6 symbol 以及symbol的簡單應用

2022-01-11 23:53:12 字數 1088 閱讀 6188

1.es6 引入了一種新的原始資料型別symbol,表示獨一無二的值。

2.symbol 值通過symbol函式生成。

3.symbol 函式可以接受乙個字串作為引數,表示對 symbol 例項的描述,主要是為了在控制台顯示,或者轉為字串時,比較容易區分。

4.es2019 提供了乙個例項屬性description,直接返回 symbol 的描述。

5.symbol 值都是不相等的,這意味著 symbol 值可以作為識別符號,用於物件的屬性名,就能保證不會出現同名的屬性。

6.symbol 值作為物件屬性名時,不能用點運算子,要使用

let s = symbol();

let obj =

};obj[s](123);

7.symbol 值作為屬性名時,該屬性還是公開屬性,不是私有屬性。

demo1

const log = {};

log.levels = ;

console.log(log.levels.debug, 'debug message');

console.log(log.levels.info, 'info message');

demo2

const color_red    = symbol();

const color_green = symbol();

function getcomplement(color)

}

常量使用 symbol 值最大的好處,就是其他任何值都不可能有相同的值了,因此可以保證上面的switch語句會按設計的方式工作。

let name = symbol();

; plugin[name] = 'plugin';

console.log(plugin[name]); //plugin

}console.log(plugin) //

console.log(plugin[name]); //plugin

ES6 Symbol資料型別

基本的資料型別 null undefined number boolean string symbol 引用資料型別 object let s1 symbol let s2 symbol console.log typeof s1 symbol console.log s1 s2 false1 sy...

ES6 Symbol基本用法詳解

大家都知道,es5的物件的屬性名都是字串,這樣就很容易造成屬性名衝突,從而替代了原有物件的方法,於是,es6就提供了symbol,表示獨一無二的值,它是一種新的原始資料型別,symbol型別。注意哦!symbol是基本資料型別,所以不能使用new命令,否則會報錯。let s1 symbol 1,2 ...

ES6 Symbol在物件中的作用

宣告symbol 我們先來回顧一下我們的資料型別,在最後在看看symbol如何宣告,並進行乙個資料型別的判斷。var a new string var b new number var c new boolean var d new array var e new object var f symb...