-
-
Save chuck0523/3e048fc008bb9ae2f0ae to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//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