• ES6 阮一峰阅读学习


    参考:

    ECMAScript6入门

     

    就是随便看看,了解一下。

    一、ECMAScript6简介

    1. 什么是ECMAScript6? JavaScript语言的下一代标准。2015年6月发布,正式名称是《ECMAScript2015标准》。

    思考:编程语言和英语、法语语言差不多吧。其实就是语言的标准、规范之类,和英语语法差不多的东西吧 = =!

    二、let和const命令

    1. let

    1.1 声明的变量仅在块级作用域内有效

    1.2 不存在变量提升

    1.3 暂时性死区:使用let命令声明变量之前,该变量是不可用的

    1.4 不允许重复声明

    let a = 1;

    思考:其实就是var变量自动提升和作用域容易产生错误,而出现let这样一个严谨定义的“局部变量”。

    2. 块级作用域

    ES5只有全局作用域、函数作用域。ES6有了块级作用域,块级就是{ }, 花括号内就是块级作用域的范围

    思考:这个作用域有啥子用呢,平时也不使用{}来当作用域。

    3. const命令

    1.1 声明一个只读的常量,常量的值不能改变(变量指向的内存地址的数据不得改动)

    1.2 只在声明的块级作用域内有效

    1.3 生命对象时,对象的值可改变,只是不能把变量指向另一个对象

    const PI = 3.1415;

    思考:这个const在其他语言里,用在比如事件名、模块名等等限制变量改变,比如publist static const LOGIN_EVENT:string = "LOGIN_EVENT"

               但是ES6里这个只能当成局部变量用...好想并没啥用...

    三、变量的解构赋值

    1.1 什么是解构? ES6允许按照一定的模式,从数组和对象中提取值,对变量进行赋值,这被称为解构。

    let a ;
    let b ;
    [a,b] = [1,2];
    console.log(a,b);  //1,2
    

    思考:个人看这个赋值比较难读不习惯,感觉用在swap交换数值上很好用,不需要定义temp临时变量写3行了 = =!

    let a = 1;
    let b = 2;
    [a,b] = [b,a];
    console.log(a,b);  //2,1
    

     四、字符串的扩展

    1.1  字符unicode表示法

    以前超出u0000-uFFFF范围的字符需要双字节表示 "uD842uDFB7",现在只需要加个花括号就行了u{1F680}。

    1.2  codePointAt

    以前的 var s =“吉” (上面是"土",不是"士",编码是4字节) 用chatAt(0)和charCodeAt(0)只能返回2字节,而codePointAt(0)可以正确处理4字节。

    var s = "吉";     //实际码点是134071
    s.charCodeAt(0);  //只能返回前2字节,55362
    s.codePointAt(0); //能正确返回4字节,134071
    

    1.3 String.fromCodePoint

    同上,原来的fromCharCode只能处理2字节

    String.fromCharCode(0x20BB7);  //返回不知名符号
    String.fromCodePoint(0x20BB7); //正确处理4字节,返回"吉"(上面是"土")            

    1.4 includes,startsWith,endsWith

    1.5 模板字符串

    以前
    'There are <b>' + count + '</b>'
    现在
    ‘There are <b>${count}</b>‘
    

    就是以前是字符串+号拼接很麻烦,现在在多行字符串反引号(`) 内用&{count}来代入值很方便。

    思考:基本都是String扩展了一些API,方便使用。

    五、正则的扩展

    思考:能不查表随手就写正则的是真男人,我就不受折磨了....

    六、数值的扩展

    1.1 二进制和八进制的表示法

    二进制 0b1010

    八进制 0o767

    1.2 Number的扩展

    基本就是Number扩展了一些API

    1.3 Math对象的扩展

    基本就是Math扩展了一些API

    1.4 指数运算符

    思考:就是对数值的处理上,在Number、Math等原数值处理的工具类上扩展了接口。

     待编辑...

     

      

  • 相关阅读:
    Windows Live Writer加载代码着色插件步骤
    C#中List<object>.Clear()方法和实例化new List<object>()操作的结果分析
    QT Creator引用win32 api类库方法(.lib)
    Fiddler系列教程1:初识Http协议抓包工具
    Robot Framework自动化测试框架初探
    JMeter基础教程1:若隐若现的参数化
    python异步并发模块concurrent.futures入门详解
    符合语言习惯的Python优雅编程技巧
    Python实现正交实验法自动设计测试用例
    Python Nose框架编写测试用例方法
  • 原文地址:https://www.cnblogs.com/gamedaybyday/p/9704275.html
Copyright © 2020-2023  润新知