ES6箭头函数this问题

var x=11;
var obj={
   x:22,
   say:()=>{
       console.log(this.x);
   }
}
obj.say();

这段代码为在NodeJS编译环境下的结果是undefined不是11吗?

ps:Nodejs 得版本为6.10.3 编译器是WebStorm 并且已支持ES6

http://img.mukewang.com/5979fb6b00018cd814000905.jpg

_Nervous
浏览 1589回答 1
1回答

李晓健

你的理解应该是window的环境下,这样写this指向全局对象,也就是window,所以你会认为输出11;实际上在node中全局中的this默认是一个空对象,其实也就是指向module.exports。
打开App,查看更多内容
随时随地看视频慕课网APP