Web 技术研究所

我一直坚信着,Web 将会成为未来应用程序的主流

和谐(harmony)模式的NodeJS

  NodeJS使用V8引擎,而V8引擎对ES6中的东西有部分支持,所以在NodeJS中可以使用一些ES6中的东西。但是由于很多东西只是草案而已,也许正式版会删除,所以还没有直接引入。而是把他们放在了和谐(harmony)模式下,在node的运行参数中加入harmony flag才能启用。
  对于ES6的东西,一些基本的我们已经用过了比如:const、Object.is、Math.imul,这些东西甚至可以直接在Chrome上使用,所以不需要什么麻烦的引入方式。只有一些特殊的特性就需要特殊的引入方式了,虽然有些在Firefox中已经实现,但其它浏览器尚未支持,所以我们无法在前端开发中使用这些。在没有浏览器兼容性问题的后端开发上才可以试着使用,比如在NodeJS中。
  目前最新的NodeJS版本(node-v0.10.19)中有这些harmony相关的flag
  --harmony_typeof (enable harmony semantics for typeof)
        type: bool  default: false
  --harmony_scoping (enable harmony block scoping)
        type: bool  default: false
  --harmony_modules (enable harmony modules (implies block scoping))
        type: bool  default: false
  --harmony_proxies (enable harmony proxies)
        type: bool  default: false
  --harmony_collections (enable harmony collections (sets, maps, and weak maps))
        type: bool  default: false
  --harmony (enable all harmony features (except typeof))
        type: bool  default: false
  可以用“--v8-options”参数运行node得到这个列表,内容很多,这里只列出harmony开头的flag。虽然可以使用他们,但是有些东西我还是不建议使用的,比如typeof特性。它会让typeof null的值为"null"

  其实我只对块作用域这个特性有好感,其它特性感觉有点鸡肋。也许是我遇到过的应用场合太少了吧,不过还是先了解下,至少在以后遇到有需求时能想到它们。这篇就不一一介绍这些特性了,只是告诉大家可以试着在NodeJS中使用它们而已。
网名:
54.144.24.*
电子邮箱:
仅用于接收通知
提交 悄悄的告诉你,Ctrl+Enter 可以提交哦
神奇海螺
[查看全部主题]
各类Web技术问题讨论区
发起新主题
本模块采用即时聊天邮件通知的模式
让钛合金F5成为历史吧!
次碳酸钴的技术博客,文章原创,转载请保留原文链接 ^_^