首页 > 其他 > 详细

ECMAScript 6 速览

时间:2017-02-18 09:31:27      阅读:131      评论:0      收藏:0      [点我收藏+]

1?? let 与const 命令

  一.块级作用域:注(

    • 允许在块级作用域内声明函数。
    • 函数声明类似于var,即会提升到全局作用域或函数作用域的头部。
    • 同时,函数声明还会提升到所在的块级作用域的头部。

       注意,上面三条规则只对 ES6 的浏览器实现有效,其他环境的实现不用遵守,还是将块级作用域的函数声明当作let处理。

  二.不存在变量提升

  三.暂时性死区(如果区块中存在letconst命令,这个区块对这些命令声明的变量,从一开始就形成了封闭作用域。凡是在声明之前就使用这些变量,就会报错)

  四.let 不允许同一作用域内,重复声明

  const 常量

  一.值不能改变,声明变量后须立即初始化。

  二.与let 相同,只在声明所在的块及作用域内有效。const命令声明的常量也是不提升,同样存在暂时性死区,只能在声明的位置后面使用。不能重复声明

  三.const ,值不能改变,不能指向其他值

  四.冻结对象 Object.freeze({});

  ES6六种声明变量的方法:var,function,let,const, import,class

  顶层对象的属性与全局变量  

  一.let,const,class 命令声明的全局变量 不属于顶层的属性 let i; window.i //undefined

  二.全局环境中,Node模块和ES6模块中,this返回的是当前模块。

  

 2??变量的解构与赋值    

  ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring)。

  let [a,b,c] = [1,2,3];  let {bar,foo} = {foo:"aaa",bar:"bbb"};let{foo:bar} = {bar:"bbb"};

 

 3??字符串的操作

 

  一.字符的Unicode表示法

 二 .codePointAt();方法会正确返回32位的UTF-16字符的码点

 三.字符串遍历:优点是可以识别大于0xFFFF的码点,传统的for循环无法识别这样的码点。
  for (let codePoint of ‘foo‘) {
   console.log(codePoint)
   }
  // f,o,o
  
 四.ar();该方法不能识别码点大于0xFFFF的字符。

 五.用来确定一个字符串是否包含在另一个字符串中。ES6又提供了三种新方法。
    • includes():返回布尔值,表示是否找到了参数字符串。
    • startsWith():返回布尔值,表示参数字符串是否在源字符串的头部。
    • endsWith():返回布尔值,表示参数字符串是否在源字符串的尾部。
 

 

 

 

 

ECMAScript 6 速览

原文:http://www.cnblogs.com/songtianen/p/6412190.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!