Es6开发中常用属性

1.块级作用域变量letconst

2.使用反引号(``)不怕字符串中出现的引号;不怕换行,反引号包起来的字符串可以随便换行;使用${}将变量或表达式包起来直接放在字符串中,不用写很多+

3.遍历字符串   使用for...of代替for循环

4.includes(),startsWidth(),endsWidth()

  不用使用indexOf()判断字符串中是否包含某个值了,使用includes()

  var string = 'string'
  string.includes('i', 0)   // true

  includes第二个参数表示查找的起始索引。
  还可以使用startsWidth()endsWidth()判断字符串是否以某些字符开始或结尾。

5.扩展运算符...获取其余参数

  以使用...加上变量名保存其他参数全部数量。
  当只知道函数的前几个具体参数,不确定之后会有多少个参数传入时,可以使用...把其他传入的参数保存到一个数组中

function print(value1, value2, ...values){
    console.log(values.join('--'))
}
print(1, 2, '参数3')        // 参数3
print(1, 2, '参数3', '参数4', '参数5')    // print(1, 2, '参数3', '参数4', '参数5')

6.箭头函数

  代码更加简洁-》静态绑定this箭头函数中,this指向的是定义箭头函数的对象中的this

   与普通函数的区别:

      1.箭头函数是匿名函数,不能作为构造函数,不能使用New,箭头函数没有prototype(原型)

      2.箭头函数不绑定arguments,取而代之的是reset参数...解决

      3.箭头函数不绑定this,会捕获其上下文的this,作为自己的this

      4.箭头函数在用apply()或者call()调用一个函数时,只传入了一个参数,对this没影响,任何方法都改变不了其指向,如 call() ,  bind() ,  apply() 

      5.箭头函数不能当做Generator函数,不能使用yield关键字

7.数组

   1. 使用Array.from()把类数组对象转为数组

     一般来说,含有length属性的对象就可以当作类数组对象。平时获取多个DOM对象后,不能使用数组中的很多方法。我们可以使用Array.from方便的转换为数组

var divs = Array.from(document.querySelectorAll('div'))
divs.forEach((value, index) => {})

   2. 和字符串的includes方法一样,看数组中是否有给定值

8.对象

   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'} 是一个对象
原文地址:https://www.cnblogs.com/yxkNotes/p/13936646.html