我看到了这个示例代码并且不理解语法:
const newSessionHandler = {
LaunchRequest() {
this.handler.state = "ASKMODE";
this.emit(":ask", "Welcome to Custom Alexa skill, are you ready to begin?");
}
};
此处LaunchRequest
不是函数调用,它不是函数定义,因为没有关键字function
。那是什么?
我理解以下LaunchRequest
是关键字的格式:
const newSessionHandler = {
LaunchRequest: function() {
this.handler.state = "ASKMODE";
this.emit(":ask", "Welcome to Custom Alexa skill, are you ready to begin?");
}
};
另一个问题:LaunchRequest
,NewSession
,未处理nodejs alexa-sdk中的所有内置事件?是否有关于alexa-sdk中所有内置事件的文档?
答案 0 :(得分:2)
欢迎使用ES 6,在Objects中声明函数的新方法。
隐含地在那里添加功能关键字。
详细了解ES6功能声明,特别是使用明确的“功能”和() => {}
之间的区别,您将遇到“此”的问题关键词。
在新形式的函数声明()=> {} 中,这将引用其父作用域而不是调用函数。