1 字符串的遍历接口 for of
2 新增加方法
3 repeat() 方法返回一个新字符串, 标识将原字符串重复3次
tip: 小数会先取整,NAN等同于0 repeat(0) 返回空字符串; 字符串先会转化为数字
4 padStart padEnd 字符串补全长度功能, 如果某个字符串不够指定长度, 会在头部或尾部补全
如果补全的字符串 + 原字符串 会超出指定的最大长度, 则补全不生效, 返回原字符串
用途:
5 模板字符串
6 函数默认值
es5中函数的默认值写为
如果y传递的是空字符串, 那么y值也是 ‘world’ 预期结果应该是 空字符串
7 函数的默认值与解构
tip: 写法一 传参添加了默认值空对象, 解构中也添加了默认值, 写法二中, 添加了默认的参数{x:0,y:0}, 解构中未添加默认值
8 参数默认值的位置 默认情况下,定义了默认值的参数,应该是函数的尾参数
如果非尾部的参数设置默认值, 实际上这个参数是没法省略的
tip: 特殊默认值 undefined null [ undefined 才会触发默认值 ]
9 箭头函数
a : 如果箭头函数不需要参数或需要多个参数,就使用一个圆括号代表参数部分
b: 如果箭头函数的代码块部分多于一条语句, 使用大括号将他们括起来,并且使用return语句
c: 由于大括号被解释为代码块, 如果箭头函数直接返回一个对象, 必须在对象外面加上括号,否则报错
10 rest 参数
tip: rest变量是数组
11 箭头函数中的this this指向的是定义时所在的作用域, 而不是指向运行时所在的作用域
12 箭头函数的注意点
a: 函数体内的this对象, 就是定义时所在的对象, 而不是运行时所在的对象
b: 不可以当做构造函数, 因为箭头函数中没有自己的this, 导致内部的this就是外层代码块的this
c: 不可以使用arguments对象, 该函数体内不存在, 如果要用, 可以用rest参数代替
d: 不可使用yield命令, 因此箭头函数不能用作Generator函数
f: arguments,super, new.target三个变量在箭头函数之中也是不存在, 指向外层函数的对应变量
由于箭头函数没有自己的this, 当然不能用call(), apply(), bind()这些方法去改变this的指向
13 箭头函数不适用场景
a: 定义函数的方法, 且方法内部包括 this
b: 需要动态this的时候, 也不应适用箭头函数