我試圖用一些JavaScript代碼進行實驗。我不確定爲什麼ES6語法失敗。Arrow語法VS ES5函數範圍
String.prototype.spacify = function() {
console.log(this.split('').join(' '));
}
'hello world'.spacify();
^^這個偉大的工程! 但是,當我做到這一點
String.prototype.spacify =() => {
console.log(this.split('').join(' '));
}
'hello world'.spacify();
當我轉換的功能Arrow功能,我得到this.split沒有定義。我不明白。箭頭語法是否與範圍界限做了特別的事情?
請指教!
阿谷歌揭示了許多發生在'this' https://derickbailey.com/2015/09/28/do -es6-arrow-functions-really-solve-this-in-javascript/ – mplungjan