Javascript ES6箭头函数
我在理解ES6 arrow函数语法方面有问题。此代码不起作用的原因:Javascript ES6箭头函数,javascript,meteor,ecmascript-6,Javascript,Meteor,Ecmascript 6,我在理解ES6 arrow函数语法方面有问题。此代码不起作用的原因: Meteor.publish('parties', (options, searchString) => { ... }) 但这一条有效: Meteor.publish('parties', function (options, searchString) { ... }) 示例一和示例二的主要区别在于示例一使用calls范围,而示例二使用Meteors范围。如果我不得不猜测的话,可能是它不起作用,因为您正在使用
Meteor.publish('parties', (options, searchString) => {
...
})
但这一条有效:
Meteor.publish('parties', function (options, searchString) {
...
})
示例一和示例二的主要区别在于示例一使用calls范围,而示例二使用Meteors范围。如果我不得不猜测的话,可能是它不起作用,因为您正在使用
this
,并且希望使用不同的范围。下面是一个演示此功能的快速示例
(function () {
var Example = (function () {
function Example() {
setTimeout(function() {
console.log(this); //this === window
}, 0);
setTimeout(() => {
console.log(this); //this === test
}, 0);
}
return Example;
}());
var test = new Example();
}());
您可以阅读详细信息示例一和示例二的主要区别在于示例一使用calls范围,而示例二使用Meteors范围。如果我不得不猜测的话,可能是它不起作用,因为您正在使用
this
,并且希望使用不同的范围。下面是一个演示此功能的快速示例
(function () {
var Example = (function () {
function Example() {
setTimeout(function() {
console.log(this); //this === window
}, 0);
setTimeout(() => {
console.log(this); //this === test
}, 0);
}
return Example;
}());
var test = new Example();
}());
您可以阅读详细信息您是否遇到了某种错误?它在语法上看起来很好。@TbWill4321没有错误。只是不起作用。您应该了解使用时
this
的值会发生什么变化。啊。库的危险在于,它会影响从回调中引用与this
关键字相关的库的精确性。在我看来,这从来都不是一个好主意(jQuery,我在看你)再说一遍,一个人怎么能在不了解这个如何在箭头函数中工作的情况下了解箭头函数呢?你是否遇到了某种错误?它在语法上看起来很好。@TbWill4321没有错误。只是不起作用。您应该了解使用时this
的值会发生什么变化。啊。库的危险在于,它会影响从回调中引用与this
关键字相关的库的精确性。在我看来,这从来都不是一个好主意(jQuery,我在看你)再说一遍,如果没有学习这个如何在箭头函数中工作,人们怎么能学习箭头函数呢?啊,是的,ES6Ah中的词法范围是的,ES6中的词法范围是的