Es6开发中常用属性
1.块级作用域变量let与const
2.使用反引号(``)不怕字符串中出现的引号;不怕换行,反引号包起来的字符串可以随便换行;使用${}将变量或表达式包起来直接放在字符串中,不用写很多+
3.遍历字符串 使用for...of代替for循环
4.includes(),startsWidth(),endsWidth()
不用使用indexOf()判断字符串中是否包含某个值了,使用includes()
var string = 'string'
string.includes('i', 0) // true
includes第二个参数表示查找的起始索引。
还可以使用startsWidth()和endsWidth()判断字符串是否以某些字符开始或结尾。
5.箭头函数
代码更加简洁-》静态绑定this箭头函数中,this指向的是定义箭头函数的对象中的this。
与普通函数的区别:
1.箭头函数是匿名函数,不能作为构造函数,不能使用New,箭头函数没有prototype(原型)
2.箭头函数不绑定arguments,取而代之的是reset参数...解决
3.箭头函数不绑定this,会捕获其上下文的this,作为自己的this
4.箭头函数在用apply()或者call()调用一个函数时,只传入了一个参数,对this没影响,任何方法都改变不了其指向,如 call() , bind() , apply()
5.箭头函数不能当做Generator函数,不能使用yield关键字
6.数组
1. 使用Array.from()把类数组对象转为数组
一般来说,含有length属性的对象就可以当作类数组对象。平时获取多个DOM对象后,不能使用数组中的很多方法。我们可以使用Array.from方便的转换为数组
var divs = Array.from(document.querySelectorAll('div'))
divs.forEach((value, index) => {})
2. 和字符串的includes方法一样,看数组中是否有给定值
7.对象
1. 使用Object.assign()合并多个对象
2. Object.keys(): 属性名组成的数组
Object.values(): 属性值组成的数组
Object.entries: ["key", "value"]组成的数组
var john = {
name: 'John',
age: 12
}
Object.keys(john) // ["name", "age"]
Object.values(john) // ["John", 12]
Object.entries(john) // [["name", "John"], ["age", 12]]
9...运算符
1. 读取的时候就是把数组或者对象给扩展开来
var a = [...[1,2,3], 4] // 把数组的每一项都展出来
a // [1, 2, 3, 4]
var obj = {
name: 'John',
age: 12
}
var newObj = {...obj, job: 'teacher'} // 把某个属性展出来
newObj // {name: "John", age: 12, job: "teacher"}
2. 用作赋值的时候,是用作解构赋值,含义就是把等号右边表达式的剩余属性或数组项都放到...后面的变量里
var a, b
[a, ...b] = [1, 3, 5]
a // 1
b // [3, 5]
var c, d
{ name, ...d} = {name: 'John', age: 12, job: 'teacher'}
name // "John" 是一个属性的值
d //{ c, ...restD } = {name: 'John', age: 12, job: 'teacher'} 是一个对象
后续继续补充------

浙公网安备 33010602011771号