Babelのes2015:メモ
書かないと覚えないのでとにかくメモしていきます。
varとletとconst
var:変数。同スコープ中での再宣言も値の代入もできる。
var i = 0; //OK var i = 1; //OK i = 2; //OK
let:同スコープ中で再宣言はできない。値の代入はできる。
let i = 0; //OK let i = 1; //NG i = 2; //OK
const:定数。同スコープ中で再宣言も値の代入もできない。
const i = 0; //OK const i = 1; //NG i = 2; //NG
参考
BabelのLearn ES6を学んでいく(2 - Qiita
exportとimport
変数やモジュールやクラスを別ファイルにしたときの「es2015」の書き方です。
export:変数などを呼び出す側
//module.js(export側) var num = 1; const name = "なまえ"; function hoge() { return "ABC" }; export{num, name, hoge};
import:読み込み側
//main.js(import側) import {num, name, hoge} from './module'; console.log(num); //1 console.log(name); //なまえ console.log(hoge()); //ABC
default export
default export
を使うと、import側で{num, name, hoge}
みたいに対象を{}
で囲わなくてよくなります。
こっちを使うことが多くなりそうです。
//module.js(export側) export default { num : 1, name: "なまえなまえ", hoge: () => {return "ABC"} };
//main.js(import側) import Variable from './module'; console.log(Variable.num); //1 console.log(Variable.name); //なまえ console.log(Variable.hoge()); //ABC
参考
class
class CustomBox{ constructor () { this.setListener(); } setListener () { console.log("でました") } } const custombox = new CustomBox();//実行
参考
extends(classの継承)
//読み込み側 import Klass from './Klass'; //クラスの読み込み const klass = new Klass(); //クラスの実行
//Klass.js class Superklass { constructor () { console.log("super"); } }; export default class Subklass extends Superklass { constructor () { super();//<-これがないとエラーになる this.init(); } init () { console.log("sub") } }