zoukankan      html  css  js  c++  java
  • ES6学习

    1、let块级变量
      usage :使用于循环中,解除闭包麻烦

    2、块级作用域-可以多层嵌套
      note: 没有返回值
      {{}}

    3、do{} 表达式
      note: 可以将块级作用域的代码作为返回值
      var test = do
      { let t = f();
      t = t * t + 1;}
    4、匿名函数--箭头函数
      note:无return
      var m = (x,y)=>x+y;
      var m = (x,y)=>{x+y};

    5、const命令
      note:const声明一个只读的常量。一旦声明,常量的值就不能改变。

    6、变量对位赋值[解构]

      var [a, b, c] = [1, 2, 3];
      a=1
      b=2
      c=3

      note:解构不仅可以用于数组,还可以用于对象。
      var { foo, bar } = { foo: "aaa", bar: "bbb" };
      foo // "aaa"
      bar // "bbb"
      note:字符串的解构赋值

      const [a, b, c, d, e] = 'hello';
      a // "h"
      b // "e"
      c // "l"
      d // "l"
      e // "o"
      当然还有数值和布尔值的解构赋值、函数参数的解构赋值
      参考用途:http://caibaojian.com/es6/destructuring.html


    7、参数的默认值
      var m = x||56;

    8、字符串的遍历器接口
      for (let codePoint of 'foo') {
      console.log(codePoint)
      }

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

      Array.from()

    10、Array.of方法用于将一组值,转换为数组

    11、ES6 对象的扩展

        var name = "xgx";
        var age = 26;

        var json = {name,age};
        以上ES6新写法,自动将变量变成作为对象的key,等价于
          var json = {"name":name,"age":age}

    12、ES6 symbol--第七种数据类型

      前六种是:Undefined、Null、布尔值(Boolean)、字符串(String)、数值(Number)、对象(Object)。
      let s = Symbol();

      typeof s
      // "symbol"

    13、消除强耦合
      字符串“Triangle”就是一个魔术字符串。它多次出现,与代码形成“强耦合”,不利于将来的修改和维护。

    14、ES6函数入参新特性,指定参数的默认值

      ES5指定默认值的方式: 

    function buy(name,age){
            name= name||'apple';
            age=age||5;
        console.log(name,":",age)
    }
      buy()
      apple : 5

       ES6则直接在参数定义里面设置函数参数的默认值,简化了默认值的处理:    

     function buy(name="pen",age="1"){
            console.log(name,":",age)
      }    
        buy();
        pen : 1
    

      

    15、箭头函数的写法理解

      说一下我当时遇到这个写法的的疑惑,是我太菜,没看懂是箭头函数,总以为该箭头函数必须要这样写,()=>{ ...函数体代码} ,
        var m = (x,y)=>x+y;
        var m = (x,y)=>{x+y};

        查了一下,如果箭头函数直接返回一个对象,必须在对象外面加上括号。这里是直接返回了一个对象的写法,()=>({}) 等价于 ()=>{return {}}。

        希望对箭头函数有疏漏的童鞋留意一下。

         

    var mi =x=>{return x+2}
         var mi =x=>x+2
         var mi =x=>(x+2) 
        //结果
        mi(8)
        10
    

      


          以上三种写法返回的是函数,下面返回的是对象
          var mi =x=>({x})//{x: 8}
          
           

  • 相关阅读:
    Java数据结构之栈(Stack)
    Java数据结构之单向环形链表(解决Josephu约瑟夫环问题)
    Java数据结构之双向链表
    zookeeper:JavaApi操作节点
    zookeeper:3
    单例模式
    zookeeper:2
    架构版本
    zookeeper:1
    Java反射
  • 原文地址:https://www.cnblogs.com/irobotzz/p/10968663.html
Copyright © 2011-2022 走看看