Skip to content

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 来分析,函数表达式会认为是一个变量赋值语句,将一个函数赋值给一个变量