let & const

  • let 只能声明一次,有块级作用域,变量-可以改
  • const 只能声明一次,有块级作用域,常量-不可以改

箭头函数

  • 如果只有一个参数——————()可以省
  • 如果只有一行return————{}可以省
  • this指向window

参数扩展

  • 收集剩余参数(Rest parameter)
    • function x(a,b,...args){conaole.log(a,b,args)}
    • 声明函数时剩余参数必须放在参数的最后一个
  • 展开数组
    • var arr=[1,2,3]; function a(a,b,c){console.log(a+b+c)};a(...arr)
    • 展开后的效果跟把数组直接复制过来一样

字符串查找拓展

indexOf的拓展,这三个方法都支持第二个参数,表示开始搜索的位置。

  • includes():返回布尔值,表示是否找到了参数字符串。
  • startsWith():返回布尔值,表示参数字符串是否在原字符串的头部。
  • endsWith():返回布尔值,表示参数字符串是否在原字符串的尾部。

repeat() 字符串重复

返回一个新字符串,表示将原字符串重复n次。

'x'.repeat(3) // "xxx"
'hello'.repeat(2) // "hellohello"
'na'.repeat(0) // ""

padStart(),padEnd() 字符串补全

如果某个字符串不够指定长度,会在头部或尾部补全

'x'.padStart(4,'ab')  //"abax"
'x'.padEnd(4,'ab')  //"xaba"

如果用来补全的字符串与原字符串,两者的长度之和超过了指定的最小长度,则会截去超出位数的补全字符串。

'12'.padStart(10, 'YYYY-MM-DD') // "YYYY-MM-12"
'09-12'.padStart(10, 'YYYY-MM-DD') // "YYYY-09-12"