资讯专栏INFORMATION COLUMN

深入理解ES6之《ES6中较小的改动》

rose / 871人阅读

摘要:识别整数安全整数只能准确的表示的次方到的次方的整数表示整数范围的下限标识符可以将转义序列用作标识符可以使用码位转义序列来作为标识符正式化属性只能在对象字面量中指定一次如果指定两个属性则会抛出错误,这是唯一具有该限制的对象字面量改改可计算形

识别整数
console.log(Number.isInteger(25))//true
console.log(Number.isInteger(25.0))//true
console.log(Number.isInteger(25.1))//false
安全整数

IEEE 754只能准确的表示-2的53次方到2的53次方的整数

let inside = Number.MAX_SAFE_INTEGER,
  outside = Number.MAX_SAFE_INTEGER + 1
  //Number.MIN_SAFE_INTEGER表示整数范围的下限
console.log(Number.isInteger(inside))//true
console.log(Number.isSafeInteger(inside))//true

console.log(Number.isInteger(outside))//true
console.log(Number.isSafeInteger(outside))//false
Unicode标识符

可以将Unicode转义序列用作标识符

let u0061 = "abc"
console.log(u0061)//abc
console.log(a)//abc

可以使用Unicode码位转义序列来作为标识符

let u{61} = "abc"
console.log(u{61})//abc
console.log(a)//abc
正式化__proto__属性

只能在对象字面量中指定一次__proto__,如果指定两个__prpto__属性则会抛出错误,这是唯一具有该限制的对象字面量改改

可计算形式的["__proto__"]的行为类似于普通属性,不会设置或返回当前对象的原型。与对象字面量属性相关的所有规则均适用于此形式,应用不可计算的形式则会抛出异常
使用__proto__和使用Object.getPrototypeOf或Object.setPrototypeOf方法的区别在于__proto__可以直接设置对象字面量的原型

let person = {
  getGreeting() {
    return "hello"
  }
}
let dog = {
  getGreeting() {
    return "woof"
  }
}
let friend = {
  __proto__: person
}
console.log(friend.getGreeting())//hello
console.log(Object.getPrototypeOf(friend) === person)//true
console.log(friend.__proto__ === person)//true
friend.__proto__ = dog
console.log(friend.getGreeting())//woof
console.log(Object.getPrototypeOf(friend) === dog)//true
console.log(friend.__proto__ === dog)//true

没有通过调用Object.create方法来创建friend对象,而是创建一个标准对象字面量,并将一个值赋给__proto__属性,换句话说,当使用Object.create方法创建对象时,必须为所有其它对象属性指定完整的属性描述符

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/84973.html

相关文章

  • 深入理解ES6ES6中较小的改动

    摘要:识别整数安全整数只能准确的表示的次方到的次方的整数表示整数范围的下限标识符可以将转义序列用作标识符可以使用码位转义序列来作为标识符正式化属性只能在对象字面量中指定一次如果指定两个属性则会抛出错误,这是唯一具有该限制的对象字面量改改可计算形 识别整数 console.log(Number.isInteger(25))//true console.log(Number.isInteger(...

    Simon 评论0 收藏0
  • 《javascript语言精粹》学习笔记 - 递归函数

    摘要:递归函数就是会直接或者间接地调用自身的一种函数。一般来说,一个递归函数调用自身去解决它的子问题。书上第二个例子是说递归函数可以非常高效率的操作树形结构,比如。有一些语言提供了尾递归的优化。好运的是,给我们带来了尾递归,详细迎接使用尾递归。 递归函数就是会直接或者间接地调用自身的一种函数。递归是一种强大的编程技术,它把一问题分解为一组相似的子问题,每一个都用一个寻常解去解决。一般来...

    Ryan_Li 评论0 收藏0
  • 深入理解ES6《ES7》

    摘要:指数运算符是可以进行求幂运算的求幂运算符是两个星号求幂运算符的优先级高于其它二元运算符,但是一元运算符的优先级高于求幂运算符求幂运算符左侧的一元运算符只能是或者是语法错误可以这样包裹也可以这样包裹在中可通过方法来检查给定字符串中是 指数运算符 Math.pow是可以进行求幂运算的求幂运算符是两个星号 let result = 5 ** 2 console.log(result) //2...

    lx1036 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<