Symbol資料型別

i涵涵發表於2019-02-21

(Symbol資料型別--瞭解)

Symbol是js的第七種資料型別的產物。用於生成唯一的一個值。

例如:

const alex = Symbol(); const tom = Symbol();

console.log(alex == tom); //false 那麼,如果說,我們用一個物件去儲存班級中的所有童鞋。

可是,我們班級當中,就有兩個同名的孩子。那麼,我們儲存到物件當中,肯定會被覆蓋掉一個值。那麼,就可以使用我們的Symbol了。

const students = { [Symbol('Tina')]: {sex: "girl", age: 18}, [Symbol('Tina')]: {sex: "boy", age: 19} }

console.log(students) image; 可以看到我們的同名值並沒有被覆蓋掉。

注意點:

Symbol是不可列舉的,所以。你無法使用列舉方法去獲取Symbol的值。 那麼,我們如何才能取到存進去的值呢?

ES6為我們提供了一個方法去獲取Symbol的值

const keys = Object.getOwnPropertySymbols(students);

相關文章