ユーザ用ツール

サイト用ツール


ecmascript:es6

ECMAScript 6th

Features

ECMA-262 6th editionで追加予定の仕様

  • クラス定義文 / class definitions
  • let修飾子とブロックスコープ変数 / block scope, let modifiers
  • 分割代入 / destructuring assignment
  • スプレッド演算子 / spread operator
  • レストパラメータ / rest parameter
  • デフォルトパラメータ / default parameter
  • アロー関数 / arrow function
  • プロキシ proxy
  • Map, Set, WeakMapオブジェクト
  • 型付き配列 / typed array
  • SymbolプリミティブとSymbolオブジェクト / Symbol Type

クラス定義文

class Hoge {
  constructor(a) {
    this.a = a:
  }
  print() {
    console.log(this.a);
  }
}
 
var h = new Hoge("あ");
h.print();

let修飾子とブロックスコープ

var a = 0;
if (true) {
   let a = 1;
   console.log(a);   // 1
}
console.log(a);      // 0
var sum = 0;
var arr = [1,2,3];
for (let i = 0; i < arr.length; i++) {
  sum += arr[i];
}
console.log(i);      // throw ReferenceError

分割代入

let { protocol, hostname, port, pathname } = location;
protocol  // => "http:"
hostname  // => "wiki.nullpon.moe"
pathname  // => "/ecmascript/es6"


let [a, b, c] = [1, 2, 3]
a  // => 1
b  // => 2
c  // => 3


let obj = {
  name: "nyan",
  address: { 
    pref: "tokyo", 
    city: "nerima",
    postal: ["176", "0001"]
  }
};

let {name, address: {city}, postal: [postal0] } = obj;
// name => "nyan"
// city => "nerima" 
// postal0 => "176"
ecmascript/es6.txt · 最終更新: 2015/10/24 04:27 by nullpon