Appearance
JavaScript 函数表达式
一等值的函数是函数化编程的基石,部分应用和复合则是函数式编程的重要特征。
JavaScript 函数声明(Declaration)
javascript
getPersonName(); // 可以访问
function getPersonName(person) {
return person.name;
}
JavaScript 函数表达式(Expression)
javascript
getter(); // 无法访问
const getter = function getPersonName(person) {
return person.name;
};
区别
函数声明 | 函数表达式 | |
---|---|---|
提升到作用域顶部 | ✔️ | ❌ |
可立即执行 | ❌ | ✔️ |
另外,从 TypeScript
编译后的 AST
来分析,函数表达式会认为是一个变量赋值语句,将一个函数赋值给一个变量