我试图尝试一些JavaScript代码。我不确定ES6语法失败的原因。
String.prototype.spacify = function() {
console.log(this.split('').join(' '));
}
'hello world'.spacify();

^^这很棒! 但是,当我这样做时
String.prototype.spacify = () => {
console.log(this.split('').join(' '));
}
'hello world'.spacify();

当我将函数转换为箭头函数时,我得到了.split未定义。我不明白。箭头语法是否在范围界定方面做了特别的事情?
请指教!
答案 0 :(得分:2)
答案 1 :(得分:0)
在箭头功能中,范围不会改变。
含义:
const globalThis = this;
String.prototype.spacify = () => {
// this === globalThis
...
}