Skip to content

Instantly share code, notes, and snippets.

@chuck0523

chuck0523/arrowFunction.js Secret

Created Jun 30, 2015
Embed
What would you like to do?
//Arrow Function
//ES5まで
var calc = function(x) {
return x * 2;
}
//ES6
var calc = (x) => {
return x * 2;
}
//省略形
var calc = x => x * 2;
//関数の中身の式がひとつだと、中カッコとreturnを省略できる。引数がひとつの場合、引数を囲むカッコを省略できる。
//引数なし
var hi = () => 'hello world!';
//引数ひとつ
var calc = x => x * 2;
//引数2つ
var add = (a, b) => a + b;
//僕がいつも書いてるデバッグ用
var log = function(x) {console.log(x);}
//ES6ではこうなる
var log = x => console.log(x);
//通常の無名関数とはthisの内容が異なるので注意が必要
var lazyContainer = {
count : 0,
countUp : function() { //ここでのthisはlazyContainer
setTimeout(function() {
//ここではthisがグローバルオブジェクトになる
//this.count++;はエラーになる
}, 10);
//アロー関数内のthisは外側のthisと同じ
setTimeout(() => this.count++, 10);
}
}
lazyContainer.countUp();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment