我一直在閱讀關於Node.js和MQTT的文章。 而我奇怪的語法爲:Node.js中的語法()=> {}是什麼意思
client.on('connect',() => {
// do something
})
的() => {}
的事情,是像function() {}
準備回調? 還是它有一些具體的用法?有沒有關於這方面的一些參考?
我一直在閱讀關於Node.js和MQTT的文章。 而我奇怪的語法爲:Node.js中的語法()=> {}是什麼意思
client.on('connect',() => {
// do something
})
的() => {}
的事情,是像function() {}
準備回調? 還是它有一些具體的用法?有沒有關於這方面的一些參考?
那就是ES6 arrow function syntax。它類似於function() {}
,以及詞彙綁定this
。
(param1, param2, …, paramN) => { statements }
(param1, param2, …, paramN) => expression
// equivalent to: => { return expression; }
// Parentheses are optional when there's only one parameter:
(singleParam) => { statements }
singleParam => { statements }
// A function with no parameters requires parentheses:
() => { statements }
這對
client.on('connect', function() {
// do something
});
除了作爲「速記」之外,還有更多箭頭功能。你忽略了提及它的主要特點。 – Marty
無關,與'Node.js'的簡寫。這是新的ES6編寫方式(通常是內聯)功能。 –