遍歷array
可以採用下標迴圈,遍歷map
和set
就無法使用下標。
為了統一集合型別,es6標準引入了新的iterable
型別,array
、map
和set
都屬於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
包括在內,但array
的length
屬性卻不包括在內。
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...