ES6箭头回调如何确定“这个”是什么?

时间:2017-08-23 00:52:01

标签: javascript ecmascript-6 arrow-functions

var test = {
    literalLogger: function() {
        console.log('literal')
        console.log('this: ', this)
    },
    arrowLogger: () => {
        console.log()
        console.log('this: ', this)
    },
    nestedArrowLogger() {
        this.arrowLogger();
    }
}

第一个函数将此作为对象记录。 第二个函数将其记录为窗口。 第三个函数将其记录为窗口。为什么?

1 个答案:

答案 0 :(得分:3)

胖箭头函数捕获your_list = [1,2,['randompie'],3,[],4,5] your_list = [thing for thing in your_list if type(thing) is not list] 关键字相对于它们声明的上下文中的内容(对于第二个this是窗口)。

至于第三个,可能是因为对象文字中的thisx()的简写?