亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

JS每日一題:Es6中新增的數(shù)據(jù)類型有哪些?使用場(chǎng)景?

jsummer / 1207人閱讀

摘要:?jiǎn)栔行略龅臄?shù)據(jù)類型有哪些使用場(chǎng)景中新增一種原始數(shù)據(jù)類型最大的特點(diǎn)是唯一性,值通過(guò)函數(shù)生成在中對(duì)象的屬性都是字符串,我們使用他人定義的對(duì)象,然后去新增自己的屬性,這樣容易起沖突覆蓋原有的屬性也可以看成為一個(gè)字符串,不過(guò)這個(gè)字符能保證是獨(dú)一無(wú)二

20190125問(wèn):

Es6中新增的數(shù)據(jù)類型有哪些?使用場(chǎng)景?

es6中新增一種原始數(shù)據(jù)類型Symbol,最大的特點(diǎn)是唯一性,Symbol值通過(guò)Symbol函數(shù)生成, 在es5中對(duì)象的屬性都是字符串,我們使用他人定義的對(duì)象,然后去新增自己的屬性,這樣容易起沖突覆蓋原有的屬性, Symbol也可以看成為一個(gè)字符串,不過(guò)這個(gè)字符能保證是獨(dú)一無(wú)二的

基本示例:

// Object

const obj = {
    name: "JS"
}

obj.name = "JS每日一題" 

// Symbol

const name = Symbol("name") // 這里的參數(shù)沒(méi)有特殊意義,可以看成為Symbol加了一個(gè)標(biāo)記

obj[name] = "JS每日一題"

Symbol用法

Symbol 目前有多種寫法

// 一
const title = Symbol()

const obj = {}
obj[title] = "JS每日一題"

// 二
const obj = {
    [title]: "JS每日一題"
}

// 三
Object.defineProperty(obj, title, { value: "JS每日一題"})


obj[title] // 輸出的結(jié)果都為JS每日一題

這里注意一下,Symbol 做為屬性名時(shí),不能用點(diǎn)去讀取

obj.title // undefined

Symbol作為屬性名,只有通過(guò)Object.getOwnPropertySymbols 方法返回

const attrs = Object.getOwnPropertySymbols(obj)

// [Symbol[title]]
Symbol.for()

如果我們想要重復(fù)Symbol可以使用Symbol.for, Smybol.for()及Smybol()的區(qū)別在于Symbol.for()會(huì)先去查找全局下有沒(méi)有聲明過(guò),如果有就返回該值,沒(méi)有就新建一個(gè),Symbol()每一次調(diào)用都會(huì)新建一個(gè)

代碼理解:

const title = Symbol.for("JS每日一題") 

....Symbol.for("JS每日一題") //調(diào)用多次都是使用的第一次聲明的值

Symbol.for("JS每日一題")  === Symbol.for("JS每日一題")  // true

const title = Symbol("JS每日一題")

Symbol("JS每日一題") === Symbol("JS每日一題") // false
總結(jié)

Symbol的特點(diǎn)

獨(dú)一無(wú)二

不能隱式轉(zhuǎn)換

不能與其它數(shù)據(jù)類型做運(yùn)算

不能使用點(diǎn)運(yùn)算符進(jìn)行操作

ps: 今天答題的小伙伴多次都提到了map,set,,補(bǔ)充一下,新增的數(shù)據(jù)類型只有Symbol一種,map,set是新增的數(shù)據(jù)結(jié)構(gòu) ~_~

關(guān)于JS每日一題

JS每日一題可以看成是一個(gè)語(yǔ)音答題社區(qū)
每天利用碎片時(shí)間采用60秒內(nèi)的語(yǔ)音形式來(lái)完成當(dāng)天的考題
群主在次日0點(diǎn)推送當(dāng)天的參考答案

注 絕不僅限于完成當(dāng)天任務(wù),更多是查漏補(bǔ)缺,學(xué)習(xí)群內(nèi)其它同學(xué)優(yōu)秀的答題思路

點(diǎn)擊加入答題

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/53639.html

相關(guān)文章

  • JS每日一題:Es6中新增的數(shù)據(jù)類型哪些?使用場(chǎng)景?

    摘要:?jiǎn)栔行略龅臄?shù)據(jù)類型有哪些使用場(chǎng)景中新增一種原始數(shù)據(jù)類型最大的特點(diǎn)是唯一性,值通過(guò)函數(shù)生成在中對(duì)象的屬性都是字符串,我們使用他人定義的對(duì)象,然后去新增自己的屬性,這樣容易起沖突覆蓋原有的屬性也可以看成為一個(gè)字符串,不過(guò)這個(gè)字符能保證是獨(dú)一無(wú)二 20190125問(wèn): Es6中新增的數(shù)據(jù)類型有哪些?使用場(chǎng)景? es6中新增一種原始數(shù)據(jù)類型Symbol,最大的特點(diǎn)是唯一性,Symbol值通過(guò)S...

    DataPipeline 評(píng)論0 收藏0
  • 前端知識(shí)點(diǎn)(二)

    摘要:在給一個(gè)目標(biāo)對(duì)象為構(gòu)造函數(shù)的代理對(duì)象構(gòu)造實(shí)例時(shí)觸發(fā)該操作,比如在執(zhí)行時(shí)。 1、元素上下垂直居中的方式有哪些? 元素水平垂直居中的方式有哪些? absolute加margin方案 fixed 加 margin 方案 display:table 方案 行內(nèi)元素line-height方案 flex 彈性布局方案 transform 未知元素寬高解決方案 absolute加mar...

    zacklee 評(píng)論0 收藏0
  • 前端知識(shí)點(diǎn)(二)

    摘要:在給一個(gè)目標(biāo)對(duì)象為構(gòu)造函數(shù)的代理對(duì)象構(gòu)造實(shí)例時(shí)觸發(fā)該操作,比如在執(zhí)行時(shí)。 1、元素上下垂直居中的方式有哪些? 元素水平垂直居中的方式有哪些? absolute加margin方案 fixed 加 margin 方案 display:table 方案 行內(nèi)元素line-height方案 flex 彈性布局方案 transform 未知元素寬高解決方案 absolute加mar...

    lbool 評(píng)論0 收藏0
  • 前端知識(shí)點(diǎn)(二)

    摘要:在給一個(gè)目標(biāo)對(duì)象為構(gòu)造函數(shù)的代理對(duì)象構(gòu)造實(shí)例時(shí)觸發(fā)該操作,比如在執(zhí)行時(shí)。 1、元素上下垂直居中的方式有哪些? 元素水平垂直居中的方式有哪些? absolute加margin方案 fixed 加 margin 方案 display:table 方案 行內(nèi)元素line-height方案 flex 彈性布局方案 transform 未知元素寬高解決方案 absolute加mar...

    Alex 評(píng)論0 收藏0
  • JS每日一題:如何理解es6中的Proxy?

    20190124問(wèn): 如何理解es6中的Proxy? 試題解析:對(duì)proxy的理解,可能會(huì)延伸到vue的雙向綁定 Proxy(代理) 定義 可以理解為為目標(biāo)對(duì)象架設(shè)一層攔截,外界對(duì)該對(duì)象的訪問(wèn),都必須通過(guò)這層攔截 簡(jiǎn)單示例: const obj = new Proxy({}, { get: (target, key, receiver) => { return JS ...

    tinysun1234 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<