ES6初步了解原始數(shù)據(jù)類型Symbol的用法
ES6中為我們新增了一個(gè)原始數(shù)據(jù)類型Symbol,讓我為大家介紹一下吧!
Symbol它表示是獨(dú)一無二的值
Symbol要如何創(chuàng)建
第一種創(chuàng)建方式:
let sy = Symbol()
第二種創(chuàng)建方式:
let sy = Symbol.for()
具體獨(dú)一無二在哪呢?它們的地址不相同。
let sy = Symbol("name") let sy1 = Symbol("name") console.log(sy === sy1) //false
但如果我們使用Symbol.for創(chuàng)建
let sy = Symbol.for("name") let sy1 = Symbol.for("name") console.log(sy === sy1) // true
Symbol不能與其他數(shù)據(jù)進(jìn)行運(yùn)算
let sy = Symbol() console.log(sy + 1) //報(bào)錯(cuò) console.log(sy > 1) //報(bào)錯(cuò) console.log(sy + "1") //報(bào)錯(cuò)
Symbol可以作用在哪呢?
用來定義對(duì)象的私有變量
如何寫入對(duì)象?
第一種:
let sy = Symbol("sy1") const obj = {} obj[sy] = "私有的" console.log(obj)
第二種:
let sy = Symbol("sy1") const obj = { [sy] : "私有的" } console.log(obj)
第三種:
const obj = { sy : Symbol("私有的") } console.log(obj)
我們可以用keyFor來獲取Symbol.for()創(chuàng)建的值
let sy = Symbol.for("hello") console.log(Symbol.keyFor(sy))//hello
我們怎么獲取呢?可以使用 對(duì)象[ ]的方法取到
記住取Symbol的值時(shí),不能用點(diǎn)(.)取
//獲取成功 console.log(obj[sy]) //私有的
我們用點(diǎn)(.)取值試一下,取到undefined
console.log(obj.sy) //undefined
我們該如何循環(huán)取到Symbol
我們用對(duì)象的for in方法試一試
由此可見,取不到Symbol
let sy = Symbol("hello") const obj = { name:"張三", age:18, } obj[sy] = "私有的" for(let k in obj) { console.log(obj) //{name: '張三', age: 18, Symbol(hello): '私有的'} console.log(k) //name age console.log(obj[k]) //張三 18 }
我們使用getOwnPropertySymbols()
let sy = Symbol("hello") const obj = { name:"張三", age:18 } obj[sy] = "私有的" let a = Object.getOwnPropertySymbols(obj) console.log(a)
到此這篇關(guān)于ES6初步了解原始數(shù)據(jù)類型Symbol的用法的文章就介紹到這了,更多相關(guān)ES6 Symbol的用法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JavaScript對(duì)象拷貝與Object.assign用法實(shí)例分析
這篇文章主要介紹了JavaScript對(duì)象拷貝與Object.assign用法,結(jié)合實(shí)例形式分析了javascript深拷貝與淺拷貝以及Object.assign的功能與相關(guān)使用技巧,需要的朋友可以參考下2018-06-06JavaScript股票的動(dòng)態(tài)買賣規(guī)劃實(shí)例分析上篇
這篇文章主要介紹了JavaScript對(duì)于動(dòng)態(tài)規(guī)劃解決股票問題的真題例舉講解。文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08JavaScrip如果基于url實(shí)現(xiàn)圖片下載
這篇文章主要介紹了JavaScrip如果基于url實(shí)現(xiàn)圖片下載,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07有關(guān)suggest快速刪除后仍然出現(xiàn)下拉列表的bug問題
寫suggest的時(shí)候,有時(shí)我們快速刪除輸入框的文字后,但是suggest下拉列表還有出現(xiàn),導(dǎo)致的原因是因?yàn)閍jax異步請求造成的,下面通過本文給大家分享下解決方法,感興趣的朋友一起看看2016-12-12koa2服務(wù)端使用jwt進(jìn)行鑒權(quán)及路由權(quán)限分發(fā)的流程分析
這篇文章主要介紹了koa2服務(wù)端使用jwt進(jìn)行鑒權(quán)及路由權(quán)限分發(fā) ,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-07-07