ES6引入iterable型別

2021-10-23 07:35:11 字數 1377 閱讀 3262

遍歷array可以採用下標迴圈,遍歷mapset就無法使用下標。

為了統一集合型別,es6標準引入了新的iterable型別,arraymapset都屬於iterable型別

具有iterable型別的集合可以通過新的for ... of迴圈來遍歷。

for ... of迴圈是es6引入的新的語法,請測試你的瀏覽器是否支援:

'use strict';

var a = [1, 2, 3];

for (var x of a)

console.log('你的瀏覽器支援for ... of');

var a = ['a', 'b', 'c'];

var s = new set(['a', 'b', 'c']);

var m = new map([[1, 'x'], [2, 'y'], [3, 'z']]);

for (var x of a)

for (var x of s)

for (var x of m)

for ... in迴圈由於歷史遺留問題,它遍歷的實際上是物件的屬性名稱。乙個array陣列實際上也是乙個物件,它的每個元素的索引被視為乙個屬性。

var a = ['a', 'b', 'c'];

a.name = 'hello';

for (var x in a)

當我們手動給array物件新增了額外的屬性後,for ... in迴圈將帶來意想不到的意外效果:

for ... in迴圈將把name包括在內,但arraylength屬性卻不包括在內。

for ... of迴圈則完全修復了這些問題,它只迴圈集合本身的元素:

var a = ['a', 'b', 'c'];

a.name = 'hello';

for (var x of a)

'use strict';

var a = ['a', 'b', 'c'];

a.foreach(function (element, index, array) );

初入ES6 解構

es6允許按照一定的模式,從陣列或者物件中取值,對變數進行賦值 陣列 var a 2 var b 1,2 var c thisi es6 解構的物件要具有iterator介面也就是可以遍歷 var a,b,c 1,2,3 按照對應的關係進行取值 var a,b 1,2,3,4 a 1 b 2,3,4...

ES6 新增Set Map型別

1.set資料結構 1 定義 類似於陣列,但是其成員是唯一的 實現了interator介面 例子 2 set建構函式特性 a.可以接收乙個陣列 b.可以接收所有實現了interator介面的資料結構 例子 3 屬性,size 例子 4 方法 a.add value 新增成員 b.delete val...

es6中型別轉換總結

主要有以下三點 轉換成字串 轉換成數字 強制型別轉換 一.轉換成字串 1 首先知道所用的是tostring 方法。針對boolean值 數字和字串這些偽物件,還是真物件,都有該方法。2 其次,該方法的使用。除了number型別的使用時有點特殊外,別的未物件和真物件的使用一樣,例如 var a1 tr...