Es6 语法小常识


 入门--->见下文

准备小知识:
  1:  在 cmd 下面运行 echo test > .properties  会自动生成一个 . properties 的文件并且里面的内容是 test。 先不管何用,知道就好。在 win 系统手动创建.开头的文件是创建不成功的,linux下则可以。

 2.   可以看阮一峰教程:  http://es6.ruanyifeng.com/  相信很多不熟悉 node  的人在安装部分就看不懂了,可以参考安装 babel 攻略  http://www.cnblogs.com/hl-520/p/5795141.html   【该教程逼格稍微高点,也可以参考  https://zhuanlan.zhihu.com/p/20233021
 本人简易先看这个教程,通俗一点,一开始就高大上会受不了的


按照2中提及的方法就可以在本地搭建一个简易的es6执行并且转化es5的环境。

按照目录跟进:

1. let  跟 const 命令:
    let 
命令只能在块级作用域中起作用,也不存在变量作用域的提升,也不能改变。块级作用域中如果出现let就会t会绑定变量
暂时性死区. let 不允许在相同作用域内,重复声明同一个变量。 es6中变量不可重复命名,变量必须是先定义然后使用。

变化1: es6引进了块级作用域 let 默认就是一个块级作用域
  块级作用域出现了两种场景:
        (1)、内层变量可能会覆盖外层变量
  1.  var name = 'anikin';
  2.  function f(){
  3.    alert( name );  // undefined
  4.    if( true ){
  5.      var name = 'jack';
  6.   }
  7.  }
       (2)、用来计数的循环泄露为全局的变量

  1.  var name = 'anikin';
  2.  for( var i=0; i<name.length; i++ ){
  3.     console.log( name[i] )
  4.  }
  5.  alert(i) // 5
  
  
   
    
   
   ES6 允许块级作用域的任意嵌套 {{{{{let insane = 'Hello World'}}}}};
块级作用域的出现,实际上使得获得广泛应用的 立即执行匿名函数(IIFE)不再必要了 de>
  1.  (function(){
  2.        var tem = ....
  3.   }() // 匿名函数的写法


  1.  {
  2.     let a = 1; ....  块级作用域的写法
  3.  }

const 声明一个只读的常量。一旦声明,常量的值就不能改变,声明必须赋值。的作用域与 de>let de> 命令相同:只在声明所在的块级作用域内有效。


2.  变量的解构赋值。解构不成功返回 undefined

  1.   var[a,b,c] = [1,2,3];     //  a=1; b=2' c=3
  2.   let[ , , d] = ['a','b','3']    // d = 3
  3.   let[x,y] = ['1','2','3']      // a=1; b=2;   不完全解构仍然也是可以的

3. string

  Unicode 格式字符JavaScript 允许采用 \uxxxx 形式表示一个字符,其中“xxxx”表示字符的码点

  ps: Unicode(统一码、万国码、单一码)是计算机科学领域里的一项业界标准,包括字符集、编码方案等。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求.一般是u后面跟一个16进制的串。这种表示法只限于\u0000——\uFFFF之间的字符。超出这个范围的字符,必须用两个双字节的形式表达。

js内部字符是以utf-16格式进行存贮字符的,每个字符固定两个字节。
    (1)  es6新增的遍历 for..of   比for循环遍历的更加广泛一点

  1.   for( let codePoint of 'foe'){
  2.           console.log( codePoint ); //  f o e
  3.   }
 (2)es5  String.fromCharCode  ->  es6 String.fromCodePoint  刚好相反根据字符码
 (3)es6 新增确认包含子串的方法:

    includes(): 返回布尔值,表示是否找到了参数字符串。                    //   var ds = s.startsWith('hello')
    startsWith():返回布尔值,表示参数字符串是否在源字符串的头部。  //    var de = s.endsWith('!')
    endsWith():返回布尔值,表示参数字符串是否在源字符串的尾部      //    var dr = s.includes('o');

   (4) 方法返回一个新字符串,表示将原字符串重复n次                           //    var x = 'anikin'.repeat(10)
    (5) 模板字符串                                                                                //    反引号的打法:英文状态下 esc 键

  1.   $('#result').append(`
          There are <b>${basket.count}</b> items                                 //    解析后: basket.count
          in your basket, <em>${basket.onSale}</em>
          are on sale!
    `);
 
4. 数组

Array.from  方法用于将两类对象转为真正的数组:类似数组的对象(array-like object)和 可遍历(iterable)的对象(包括ES6新增的数据结构 Set Map ).

  1.  var arrayLike = {
  2.   '0': 'a',
      '1': 'b',
      '2': 'c',
      length: 3
  3. }
  4.    var arr1 = [].slice.call(arrayLike); // ['a', 'b', 'c']
       // ES6的写法
       var arr2 = Array.from( arrayLike ); // ['a', 'b', 'c']
       var arr3 = Array.prototype.slice.call( arrayLike );   // ['a','b','c']
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值