• 读书笔记:深入理解ES6 (附录A)


    附录A:ES6中较小的改动

    第1节 使用整数

      JavaScript 使用 IEEE 754 编码系统来表示整数和浮点数,多年来这给开发者造成了不少混乱。ES6力图通过降低整数的识别和使用的难度来解决这些问题。

      1. 由于浮点数和整数的存储方式不同,Number.isInteger() 方法利用了这种存储的差异来确定该值是否为整数。

      2. 只给数字添加小数点不会让整数变为浮点数。

      3. IEEE 754 只能准确地表示 -2^53 - 2^53之间的整数,在这个“安全”范围之外,则通过重用二进制来表示多个数值。

    第2节 新的Math方法

      1. ES6引入定型数组来增强游戏和图形体验,这个让JavaScript引擎可以进行更有效的数学计算。

      2. ES6为 Math 对象添加了几种方法,以提高通常的数学计算的速度,同时可以提高密集计算应用程序(如:图形程序)的总体进度。

      3. 具体添加的方法可以参考P.333。如果你的应用程序需要进行常见的运算,务必在动手之前,检查Math对象的新方法(是否已经有你的计算需要的方法了)。

    第3节 Unicode标识符

      在ES5、ES6中,可以将Unicode转义序列用作标识符。例如:

    1 //在ES 5和6 中均合法
    2 var u0061 = "abc";
    3 
    4 console.log(u0061) // "abc"
    5 
    6 //等价于:
    7 console.log(a); // "abc"

      

      还可以用Unicode码位转义序列来作为标识符。例如,

    1 //在ES 5和6 中均合法
    2 var u{61} = "abc";
    3 
    4 console.log(u{61}); // "abc"
    5 
    6 //等价于
    7 console.log(a); // "abc"

    第4节 正式化 __proto__ 属性

      1. __proto__是 Object.getPropertyOf() 和 Object.setPropertyOf() 方法的早期实现。

      2.ES6正式添加了 __proto__ 属性,但在正式标准:ECMA-262附录B中附带了一段警告:除非在Web浏览器中或者需要像Web浏览器一样执行遗留的ES代码,否则不鼓励ES实现这些功能。

      3. 使用 __proto__ 和使用 Object.getPropertyOf() 方法或者 Object.setPropertyOf() 方法的区别在在于:__proto__ 可以直接设置对象字面量的原型。例如,

     1 let person = {
     2     getGreeting() {
     3         return "hello";
     4     }
     5 };
     6 
     7 let dog = {
     8     getGreeting() {
     9         return "woof"
    10     }
    11 };
    12 
    13 //原型是person
    14 let friend = {
    15     __proto__: person
    16 };
    17 console.log(friend.getGreeting());                         //  "hello"
    18 console.log(Object.getPrototypeOf(friend) === person);  //  true
    19 console.log(friend.__proto__ === person);                 //  true
    20 
    21 //将原型设置为dog
    22 friend.__proto__ = dog;
    23 console.log(friend.getGreeting());                        // "woof"
    24 console.log(friend.__proto__ === dog);                    // true
    25 console.log(Object.getPrototypeOf(friend) === dog);        // true

    (本节完)

  • 相关阅读:
    cd 好吃的 收藏
    2011 无代码无意义…test 指针 v1
    转 云中漫步的 电子书 from simon
    2011无代码无意义 test_gets_scanf连用 等
    svn—relocate 的原因
    转 CString,string,char*的综合比较
    2011 无代码无意义 test_内存之 变量的边界 (图)
    转 解决"应用程序配置不正确,程序无法启动"
    转 删除已存在的SVN账户信息
    C#中IO类FileInfo和Directory操作实例
  • 原文地址:https://www.cnblogs.com/zxxsteven/p/11522769.html
Copyright © 2020-2023  润新知