BigBing 技术博客

Rails4新项目-使用ECMAScript6

在Rails项目中使用ES6是非常容易的事情。只需要以下两步步就可以完成:

  • 在Gemfile中添加:gem 'sprockets-es6'
  • 然后就可以在javascript的目录中创建以.es6为扩展名的文件

你可以继续保留coffeescript,通过扩展名来区分就可以了。

经过一段时间使用,发现ES6的以下功能比较好用:

1.使用let来定义变量

如果是之后不会变化的常量,可以使用const

let和const都是有block scope的,减少了使用var易产生bug的问题。

2. => 箭头函数

使用箭头 => 数替换匿名函数,在箭头函数中this就是定义该函数的对象

有一点需要注意:如果使用jQuery,不可以使用$(this)获取触发事件的对象,可以明确的使用$(event.currentTarget)

3. object literal:

在对象中可以用更加直观地方式定义function:

doSomething() {
  this.doSomething2();
},

doSomething2() {

}

4. Default arguments 参数的默认值

var hello = function(name = "guest") {
  alert(name);
}

此时,如果不传参数,name的默认值就是guest

5. Rest参数

var awards = function(first, second, ...others) {
  var gold = first;
  var silver = second;
  var honorableMention = others;
}

6. Destructuring

var [first, , last] = [1, 2, 3]

set name(name) {
  [this.firstName, this.lastName] = name.split(" ");
}

7. Interpolation 字符串的拼接

`Template strings allow strings to span
 multiple lines and allow interpolation like 1 + 1 = ${1 + 1}
`
get name() {
  return `${this.firstName} ${this.lastName}`;
}

推荐资料

  1. 阮一峰 《ECMAScript 6入门》
  2. Overview of ECMAScript 6 features