ES6 Symbol在物件中的作用

2021-10-03 03:45:27 字數 1108 閱讀 6109

宣告symbol

我們先來回顧一下我們的資料型別,在最後在看看symbol如何宣告,並進行乙個資料型別的判斷。

var a = new string;

var b = new number;

var c = new boolean;

var d = new array;

var e = new object;

var f= symbol();

console.log(typeof(d));

symbol的列印

我們先宣告乙個symbol,然後我們在控制台輸出一下。

var g = symbol('jspang');

console.log(g);

console.log(g.tostring());

這時候我們仔細看控制台是有區別的,沒有tostring的是紅字,tostring的是黑字。

symbol在物件中的應用

看一下如何用symbol構建物件的key,並呼叫和賦值。

var jspang = symbol();

var obj=

console.log(obj[jspang]);

obj[jspang]='web';

console.log(obj[jspang]);

symbol物件元素的保護作用

在物件中有很多值,但是迴圈輸出時,並不希望全部輸出,那我們就可以使用symbol進行保護。

沒有進行保護的寫法:

var obj=;

for (let item in obj)

現在我不想別人知道我的年齡,這時候我就可以使用symbol來進行迴圈保護。

let obj=;

let age=symbol();

obj[age]=18;

for (let item in obj)

console.log(obj);

ES6系列 10之Symbol在物件中的作用

在es5中 物件屬性名都是字串,這容易造成屬性名的衝突,比如,你使用了乙個他人提供的物件,但又想為這個物件新增新的方法 mixin 模式 新方法的名字就有可能與現有方法產生衝突,於是 es6 引入了symbol。symbol是一種新的原始資料型別,表示獨一無二的值。它是繼undefined null...

ES6 symbol 以及symbol的簡單應用

1.es6 引入了一種新的原始資料型別symbol,表示獨一無二的值。2.symbol 值通過symbol函式生成。3.symbol 函式可以接受乙個字串作為引數,表示對 symbol 例項的描述,主要是為了在控制台顯示,或者轉為字串時,比較容易區分。4.es2019 提供了乙個例項屬性descri...

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...