ES6學(xué)習(xí)筆記之新增數(shù)據(jù)類型實例解析
本文實例講述了ES6學(xué)習(xí)筆記之新增數(shù)據(jù)類型。分享給大家供大家參考,具體如下:
1、數(shù)據(jù)解構(gòu)賦值
1、數(shù)組的解構(gòu)賦值
基本用法:let [key1,key2...]=[value1,value2...]
let [name,age,sex]=['小明',24,'男']; console.log(name); console.log(age); console.log(sex);
注意左右的key與value格式要匹配對應(yīng),鍵值可以缺省,但逗號的位置要正確
let [arr1,,[arr3,,[,arr6]]]=[1,2,[31,32,[331,332]]]; console.log(arr1); console.log(arr3); console.log(arr6);
2、對象的解構(gòu)賦值
用法:let {key1,key2...}={key1:value1,key2:value2...}
let obj={name:'小明',age:24,sex:'男',friend:['小張','小李']}; console.log(obj.name); console.log(obj.age); console.log(obj.sex); console.log(obj.friend);
3、字符串類型
字符串中每個字符與數(shù)組鍵對應(yīng)
let [a,b,c]="這是一個字符串"; console.log(a); console.log(b); console.log(c);
2、新增數(shù)據(jù)類型Set集合
set與數(shù)組不同在于set中不可以有重復(fù)數(shù)據(jù),常用于去重操作
1、創(chuàng)建set
let myset=new Set(['data1','data2','data3','data3']);
2、屬性size:集合的元素個數(shù)
console.log(myset.size);
3、方法
myset.add('data4');//增加元素 myset.delete('data2');//刪除元素 console.log(myset.has('data1'));//判斷是否含有某個元素,包含返回true myset.clear();//清除集合所有元素 console.log(myset.keys());//返回集合所有的鍵值 console.log(myset.values());//返回集合所有值
3、新增數(shù)據(jù)類型Map
由于對象的鍵值只能是字符串,不可以是對象類型,使用對象作為鍵值會被toString轉(zhuǎn)化為字符串"[object Object]",例如:
let obj1={key:1},obj2={key:2},obj={}; obj.value='objValue'; obj[obj1]='obj1Value'; //將對象obj1作為obj的鍵值 obj[obj2]='obj2Value'; console.log(obj);
輸出:Object { value: "objValue", "[object Object]": "obj2Value" },由于轉(zhuǎn)化為相同的鍵值字符串,obj2會覆蓋obj1
而使用map可以避免鍵值必須為字符串的限制,其鍵值可以為對象、數(shù)組等
1、創(chuàng)建Map
let mymap=new Map([ ['stringKey','stringValue'], ['age',24], [obj1,'obj1Value'], [obj2,'obj2Value'], [['arr'],'arrValue'] ]);
打印mymap如下:
2、屬性size:返回map中鍵值對個數(shù)
console.log(mymap.size);
3、方法
mymap.set('key','value');//設(shè)置map的鍵、值 mymap.get('key');//通過鍵來取值 mymap.delete('key');//刪除對應(yīng)的鍵值 mymap.has('key');//判斷是否含有 //mymap.clear();//清除map中所有鍵值 //遍歷 mymap.forEach(function (value,key) { console.log(key+":"+value); })
4、注意{}與{}是不同的兩個鍵值
mymap.set({},"obj1"); mymap.set({},"obj2");
以上語句obj2不會覆蓋obj1,由于空對象{}在內(nèi)存中不同的堆區(qū)申請存儲空間,所以作為鍵值它們是不同的
4、Symbol類型
在用相同的字符串對對象屬性名或方法進(jìn)行命名時會發(fā)生命名沖突,而使用symbol產(chǎn)生的名字是不同的,例如:
let obj={}; obj[Symbol('name')]="小趙"; obj[Symbol('name')]="小錢"; console.log(obj);
結(jié)果如下,不會覆蓋第一句:
感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運(yùn)行工具:http://tools.jb51.net/code/HtmlJsRun測試上述代碼運(yùn)行效果。
更多關(guān)于JavaScript相關(guān)內(nèi)容可查看本站專題:《javascript面向?qū)ο笕腴T教程》、《JavaScript錯誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》
希望本文所述對大家JavaScript程序設(shè)計有所幫助。
- ES6中新增的Object.assign()方法詳解
- 淺談ES6新增的數(shù)組方法和對象
- ES6中字符串string常用的新增方法小結(jié)
- ES6中數(shù)組array新增方法實例總結(jié)
- ES6 新增的創(chuàng)建數(shù)組的方法(小結(jié))
- 淺析Javascript ES6新增值比較函數(shù)Object.is
- ES6新增的math,Number方法
- ES6新增數(shù)據(jù)結(jié)構(gòu)WeakSet的用法詳解
- ES6中Math對象新增的方法實例詳解
- 詳解es6新增數(shù)組方法簡便了哪些操作
- ES6知識點整理之String字符串新增常用方法示例
- 簡述ES6新增關(guān)鍵字let與var的區(qū)別
相關(guān)文章
Java CompletableFuture 異步超時實現(xiàn)深入研究
這篇文章主要為大家介紹了Java CompletableFuture 異步超時實現(xiàn)深入研究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02解決Springboot項目中很多頁面出現(xiàn)Whitelabel Error Page(404)的問題
最近在接手的前后端項目中發(fā)現(xiàn)其默認(rèn)路徑不是主機(jī)+端口(如:http://localhost:3453/)的形式,很多頁面的訪問是加了一個層級,只要訪問頁面就會出現(xiàn)Whitelabel Error Page(404),所以本文給大家提供了解決方案,需要的朋友可以參考下2024-02-02劍指Offer之Java算法習(xí)題精講數(shù)組查找與字符串交集
跟著思路走,之后從簡單題入手,反復(fù)去看,做過之后可能會忘記,之后再做一次,記不住就反復(fù)做,反復(fù)尋求思路和規(guī)律,慢慢積累就會發(fā)現(xiàn)質(zhì)的變化2022-03-03Java基礎(chǔ)教程之理解Annotation詳細(xì)介紹
這篇文章主要介紹了Java基礎(chǔ)教程之理解Annotation詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下2017-01-01Java中String字符串常量池和intern方法源碼分析
在之前的文章中,小編給大家介紹了String字符串的不可變性及其實現(xiàn)原理,其中給大家提到了字符串常量池的概念,那么什么是常量池,String字符串與常量池有什么關(guān)系,本文給大家嘮嘮字符串常量池及String#intern()方法的作用,需要的朋友可以參考下2023-05-05Spring Boot中配置文件application.properties使用
這篇文章主要介紹了Spring Boot中配置文件application.properties使用及spring boot讀取application.properties文件的方式,需要的朋友參考下吧2018-01-01Java中的Map接口實現(xiàn)類HashMap和LinkedHashMap詳解
這篇文章主要介紹了Java中的Map接口實現(xiàn)類HashMap和LinkedHashMap詳解,我們常會看到這樣的一種集合,IP地址與主機(jī)名,等,這種一一對應(yīng)的關(guān)系,就叫做映射,Java提供了專門的集合類用來存放這種對象關(guān)系的對象,需要的朋友可以參考下2024-01-01