es6 學習筆記(二)Symbol

2021-07-29 11:47:53 字數 1159 閱讀 3651

symbol類似於enum,可以起到識別符號的作用。主要可以應用在一下場景。

1.可以作為屬性名:

var mysymbol = symbol();

var a = {};

a.mysymbol = 'hello!';

a[mysymbol] // undefined

a['mysymbol'] // "hello!"

要注意symbol值作為物件屬性名時,不能用點運算子(因為點運算子後面總是字串,不加方括號,會被認為是乙個字串)

2.enum

const mytype = ;

function dosomething(type)

}

3.symbol.for(),symbol.keyfor()

當然symbol也是可以重複使用的,通過symbol.fo方法登記,symbol.keyfor方法返回乙個已登記的 symbol 型別值的key。

symbol.for("bar") === symbol.for("bar")

// true

symbol("bar") === symbol("bar")

// false

var s1 = symbol.for("foo");

symbol.keyfor(s1) // "foo"

var s2 = symbol("foo");

symbol.keyfor(s2) // undefined

4. 內建的symbol值:

symbol.hasinstance

symbol.isconcatspreadable

symbol.species

symbol.match

symbol.replace

symbol.search

symbol.split

symbol.iterator

symbol.toprimitive

symbol.tostringtag

symbol.unscopables

Symbol的學習筆記 ES6系列5

symbol的學習參考了以下大大們的部落格 僅為自己的學習筆記。在es5中,物件的屬性都是字串,很容易引起命名衝突的問題。如果你寫乙個物件,需要有一些屬性名你不想別人誤操作或修改,則可以借助symbol來完成。symbol為es6引入的第七種資料型別,也是原始資料型別。表示獨一無二的值。乙個symb...

ES6學習筆記 二

function fun url,timeout 60,callback url為必須引數,其餘為可選。es5 嚴格模式下arguments物件將不會發生變化,es6中如果引數使用了預設引數,則無論是否使用嚴格模式,arguments物件都將與es5嚴格模式保持一致 物件將與命名引數分離 funct...

es6學習筆記(二)

一.let命令宣告變數 1.用法 let宣告的變數只在所處位置的 塊內有效 example1.js for var i 0 i 2 i console.log i i console.log a a console.log b b 執行結果會報錯 2.不存在變數提公升 example1.js con...