1.关于ECMAScript
ECMA-262
阅历了多个版本的更新迭代,须要相识一下五个版本:
-
ES5
:2009年12月 -
ES5.1
:2011年6月 -
ES6
/ECMAScript 2015
:2015年6月 -
ESMAScript 2016
:2016年6月
2.模板字符串
模板字符串是从ES2015
最先引入的,经常运用用法有:
2.1 多行字符串
console.log(`string text line 1
string text line 2`);
// "string text line 1
// string text line 2"
2.2 嵌入表达式
var a = 5;
var b = 10;
console.log(`Fifteen is ${a + b} and
not ${2 * a + b}.`);
// "Fifteen is 15 and
// not 20."
3.数组
数组的slice
要领和字符串的substring
要领功用相似,都是截取一段。须要注重的是字符串有三个截取要领:
String.slice( begin [, end ] )
String.substring( from [, to ] )
String.substr( start [, length ] )
3.1 push
和pop
push
和pop
要领用于操纵尾部元素,unshift
和shift
要领用于操纵头部元素。
3.2 splice
语法:array.splice(start[, deleteCount[, item1[, item2[, ...]]]])
它用于删除并增加元素,也能够只删除不增加。
4.对象
in
操纵符能够推断对象是不是含有某个属性,然则没法推断这个属性是它自己的,照样继续来的。这个时刻须要运用hasOwnProperty
要领。
5.map
和set
它们是从ES6
最先引入的,下面引见一下经常运用用法:
5.1 map
var m = new Map([['Michael', 95], ['Bob', 75], ['Tracy', 85]]);
m.get('Michael'); // 95
var m = new Map(); // 空Map
m.set('Adam', 67); // 增加新的key-value
m.set('Bob', 59);
m.has('Adam'); // 是不是存在key 'Adam': true
m.get('Adam'); // 67
m.delete('Adam'); // 删除key 'Adam'
m.get('Adam'); // undefined
5.2 set
var s = new Set([1, 2, 3, 3, '3']);
s; // Set {1, 2, 3, "3"}
s.delete("3"); // 删除元素
s.add(4);
s; // Set {1, 2, 3, 4}
s.add(4);
s; // 仍然是 Set {1, 2, 3, 4}
6.iterable
为了一致鸠合范例,ES6
规范引入了新的iterable
范例,Array
、Map
和Set
都属于iterable
范例。具有iterable
范例的鸠合能够经由过程新的for ... of
轮回来遍历。
运用for...in
遍历数组时,数组的属性也会被遍历出来;而for...of
只遍历数组的元素。
forEach
要领是ES5.1
引入的。