• 周蓬安.blog的博客—强国博客—人民网 2019-05-10
  • 紫光阁中共中央国家机关工作委员会 2019-05-10
  • 感触名家笔下的端午文化吃香粽原来可以这样文艺 2019-05-09
  • 追梦夺冠游行嘲讽詹皇 百万人面前穿订制T恤羞辱他 2019-04-27
  • 《瘟疫传说》:黑死病恐怖 姐弟在绝望中求生 2019-04-10
  • 陕西国防工业职业技术学院百名大学生志愿者敬老院慰问孤寡老人陕西国防工业职业技术学院百名大学生志愿者敬老院慰问-陕西教育新闻 2019-04-08
  • 西藏拉萨:新家园 新生活 2019-04-08
  • 尊重和保障宗教信仰自由的中国实践 2019-04-06
  • 一敬泯恩仇 俄罗斯队主帅这个动作太暖了 2019-03-20
  • 四大名著剧组首次同台忆往事 经典影视剧如何铸就? 2018-12-07
  • “天眼”凝望 探秘宇宙 2018-12-07
  • 0

    Node V6支持的新特性

    Posted by 撒得一地 on 2016年5月14日 in 杂谈
    国外稳定加速器推荐    Express | Vypr

    Node v6已经发布了,它带来了一些性能上的改善,以及对一些新的ES6语言特性的支持。 本文我们来具体的看看哪些特性得到了支持。

    新ES6特性

    默认函数参数

    你可以为函数的行参提供默认值,如果实参没有被传入时,则使用该默认值。

    function multiply(a, b = 1) {  
      return a * b
    }
    multiply(5) // 5  
    

    参考文档

    剩余参数

    在函数被调用时,剩余参数表示为一个数组名,该数组包含了那些没有对应形参的,长度不确定的剩余实参。

    function fun1(...theArgs) {
      console.log(theArgs.length);
    }
    
    fun1();  // 弹出 "0", 因为theArgs没有元素
    fun1(5); // 弹出 "1", 因为theArgs只有一个元素
    fun1(5, 6, 7); // 弹出 "3", 因为theArgs有三个元素
    

    参考文档

    展开(Spread)操作符

    展开运算符允许一个表达式在某处展开,在多个参数(用于函数调用)或者多个元素(用于数组字面量)或者多个变量(用于解构赋值)的地方就会这样。

    // before the spread operator
    function myFunction(x, y, z) { }  
    var args = [0, 1, 2]  
    myFunction.apply(null, args)
    
    // with the spread operator
    function myFunction(x, y, z) { }  
    var args = [0, 1, 2]  
    myFunction(...args)  
    

    参考文档

    解构

    通过解构赋值,你可以从数组或对象中提取数据赋值给不同的变量。

    var x = [1, 2, 3, 4, 5]  
    var [y, z] = x  
    console.log(y) // 1  
    console.log(z) // 2  
    

    参考文档

    new.target

    new.target属性允许你检测函数或构造方法是否通过是通过new运算符被调用的。 在通过new运算符被初始化的函数或构造方法中,new.target返回一个指向构造方法或函数的引用。 在普通的函数调用中,new.target 的值是undefined。

    function Foo() {  
      if (!new.target) throw new Error('Foo() must be called with new')
      console.log('Foo instantiated with new')
    }
    
    Foo() // throws "Foo() must be called with new"  
    new Foo() // logs "Foo instantiated with new"  
    

    参考文档

    Proxy

    Proxy 对象用来为基础操作(例如:属性查找、赋值、枚举、方法调用等)定义用户自定义行为。

    var handler = {  
        get: function(target, name){
            return name in target ? target[name] : 37
        }
    };
    
    // - targe: 目标对象,可以是任意类型的对象,比如数组,函数,甚至是另外一个代理对象。
    
    // - handler: 处理器对象,包含了一组代理方法,分别控制所生成代理对象的各种行为。
    
    // var p = new Proxy(target, handler)
    
    var p = new Proxy({}, handler)  
    p.a = 1  
    p.b = undefined
    console.log(p.a, p.b) // 1, undefined  
    console.log('c' in p, p.c) // false, 37  
    

    参考文档

    Reflect

    Reflect 对象提供了若干个能对任意对象进行某种特定的可拦截操作(interceptable operation)的方法。

    参考文档

    Symbol

    Symbol是一种特殊的、不可变的数据类型,可以作为对象属性的标识符使用。

    Symbol("foo") === Symbol("foo"); // false  

    参考文档

    开始使用Node 6

    推荐你使用nvm, 查看安装文档。

    nvm install 6
    

    原文://wwsun.github.io/posts/nodejs-v6.html

    上一篇:

    下一篇:

    相关推荐

    发表评论

    电子邮件地址不会被公开。 必填项已用*标注

    9 + 3 = ?

    网站地图|广东快乐10分开奖直播

    Copyright © 2015-2019 广东快乐10分开奖直播 All rights reserved.
    闽ICP备15015576号-1,版权所有?psz.

  • 周蓬安.blog的博客—强国博客—人民网 2019-05-10
  • 紫光阁中共中央国家机关工作委员会 2019-05-10
  • 感触名家笔下的端午文化吃香粽原来可以这样文艺 2019-05-09
  • 追梦夺冠游行嘲讽詹皇 百万人面前穿订制T恤羞辱他 2019-04-27
  • 《瘟疫传说》:黑死病恐怖 姐弟在绝望中求生 2019-04-10
  • 陕西国防工业职业技术学院百名大学生志愿者敬老院慰问孤寡老人陕西国防工业职业技术学院百名大学生志愿者敬老院慰问-陕西教育新闻 2019-04-08
  • 西藏拉萨:新家园 新生活 2019-04-08
  • 尊重和保障宗教信仰自由的中国实践 2019-04-06
  • 一敬泯恩仇 俄罗斯队主帅这个动作太暖了 2019-03-20
  • 四大名著剧组首次同台忆往事 经典影视剧如何铸就? 2018-12-07
  • “天眼”凝望 探秘宇宙 2018-12-07
  • 澳门21點玩法 上海基诺彩票奖金 体彩排列3 七星彩开奖公告 半全场胜平负什么意思 哈尔滨快乐扑克派 真钱 竞彩混合过关什么意思 中国体彩顶呱刮中奖率 体彩6+1红球顺序 11选5复式票图片 自己中大奖说点什么预兆 哪里可以看篮彩分析 重庆幸运农场开奖直播 南国彩票41 群英会开奖结果查看