认识 ES2015 (一) —— 需要知道的几个特性

ES2015 特性

1、属性和方法的简写

// new
var person = {
  name,
  age,
  sayHello () {
    alert( 'hello! my name is ' + this.name );
  }
};

// old
var person = {
  name: name,
  age: age,
  sayHello: function () {
    alert( 'hello! my name is ' + this.name );
  }
};

2、计算属性

// new
var obj = {
  [a]: 1
};

// old
var obj = {};
obj[a] = 1;

3、let和const
- let是更完美的var
   - let声明的变量拥有块级作用域。
   - let声明的全局变量不是全局对象的属性。
   - 形如for (let x...)的循环在每次迭代时都为x创建新的绑定。
   - let声明的变量直到控制流到达该变量被定义的代码行时才会被装载,所以在到达之前使用该变量会触发错误。
   - 用let重定义变量会抛出一个语法错误(SyntaxError)。

- const:与let类似,然而
   - const声明的变量只可以在声明时赋值,不可随意修改,否则会导致SyntaxError(语法错误)
   - const声明变量后必须要赋值,否则也抛出语法错误。

4、展开运算符

// new
function test(a,b,c) { }
var args = [0,1,2];
test(...args);

// old
function test(a, b, c) { }
var args = [0, 1, 2];
test.apply(null, args);

5、模块

// Default exports and named exports
import theDefault, { named1, named2 } from 'src/mylib';
import theDefault from 'src/mylib';
import { named1, named2 } from 'src/mylib';

// Renaming: import named1 as myNamed1
import { named1 as myNamed1, named2 } from 'src/mylib';

// Importing the module as an object
// (with one property per named export)
import * as mylib from 'src/mylib';

// Only load the module, don’t import anything
import 'src/mylib';
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,195评论 0 13
  • let 和 const 命令 let 命令 块级作用域 const 命令 顶层对象的属性 gl...
    安小明阅读 997评论 0 0
  • let 命令 块级作用域 const 命令 顶层对象的属性 global 对象 let 命令 基本用法 ES6 新...
    嘉奇呦_nice阅读 1,647评论 0 2
  • 人到30,本来就预期着会渐渐摆脱幼稚,失去天真的能力,严肃面对现实生活中的种种。但听到友在旁边大谈“要把时间浪费在...
    菜泡饭阅读 447评论 0 1
  • 写书评这事困扰我很久了,我希望每次读到好的书时我能有所感,这个可以做到,毕竟我也是个病善于思考的人嘛。但是思考过后...
    梅子Mey阅读 496评论 1 7