You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
functionPerson(name){console.log(new.target===Person);if(typeofnew.target!=='undefined'){this.name=name;}else{thrownewError('必须通过 new 关键字调用Person函数')}}Person('bobobo');// Error: 必须通过 new 关键字调用Person函数newPPerson('bobobo');// 通过
第一章:块级作用域
使用 var 声明的变量是不存在块级作用域的,使用 var 声明的变量存在变量提升机制,也就是说通过 var 声明的变量,无论在哪里声明,都会提升到当前的作用域顶部声明的变量。
使用 let 和 const 的声明存在块级作用域。块级作用域指在声明的变量只在当前的作用域下有效,而外部是无法访问的。
let 和 const 声明的相同点:
let 和 const 声明的区别:
第二章:字符串
新增的方法
codePointAt( string )
返回字符串的指定的位置码位String.fromCodePoint( number )
传入指定的位置码位返回一个字符串normalize()
把字符串转换为国际标准化,参数有 NFC, NFD, NFKC, NFKDincludes( string )
检测字符串中是否包含传入的字符,返回true和falsestarsWith(string, @index)
从字符串头部 index stringendsWith(string, @index)
从字符串尾部 index 位置开始检测是否匹配传入的字符串 stringrepeat( number )
接收一个 number,运算结果让字符串重复的number次,结果不会影响原来的字符串hello world
,作用:hello, ${username}!
es5的一些字符串方法
indexOf( string )
从字符首位开始检测传入的 string 字符串的首次出现的位置lastIndexOf( string )
从字符尾部开始检测传入的 string 字符串的首次出现位置charAt()
返回指定位置的字符charCodeAt()
返回字符串的指定的位置码位第三章:函数
es6中函数的形参可以设置默认值
es6函数的默认参数对arguments对象保持分离
当定义函数的形参不确定时,可以使用es6可以传入不定参数,arguments对象也是能正确的工作
使用元属性
new.target
来检测函数是否被 new 关键字调用箭头函数:
第四章:扩展对象的功能性
对象简写
可计算属性名:
新增的方法
Object.is(value1, value2)
: 比较2个值是否相等,和三等符合运算是一样的,特殊的地方:Object.is(+0, -0)
为falseObject.is(NaN, NaN)
为trueObject.assign(target, source)
:把源对象复制一个目标对象(浅拷贝)增强对象的原型
第五章:解构
对象解构,取对象的值:
嵌套对象解构取值:
数组解构
第六章:Symbol
Symbol代表唯一的ID
第七章:Set和Map
Set 类似数组,但Set不允许元素重复。
size
:获取元素数量。add(value)
:添加元素,返回 Set 实例本身。delete(value)
:删除元素,返回一个布尔值,表示删除是否成功。has(value)
:返回一个布尔值,表示该值是否是 Set 实例的元素。clear()
:清除所有元素,没有返回值Set 实例的遍历,可使用如下方法
keys()
:返回键名的遍历器。values()
:返回键值的遍历器。不过由于 Set 结构没有键名,只有键值(或者说键名和键值是同一个值),所以keys()和values()返回结果一致。entries()
:返回键值对的遍历器。forEach()
:使用回调函数遍历每个成员Map 的用法和普通对象基本一致,先看一下它能用非字符串或者数字作为 key 的特性。
Map 实例的属性和方法如下:
size
:获取成员的数量set(key, value)
:设置成员 key 和 valueget()
:获取成员属性值has()
:判断成员是否存在delete()
:删除成员clear()
:清空所有Map 实例的遍历方法有
keys()
:返回键名的遍历器。values()
:返回键值的遍历器。entries()
:返回所有成员的遍历器。forEach()
:遍历 Map 的所有成员The text was updated successfully, but these errors were encountered: