跳到主要内容

JS 箭头函数

箭头函数(Arrow Function)是 ES 6 引入的函数写法,更简洁,特别适合回调函数和函数表达式。


基本语法

js
const greet = (name) => {
return `Hello, ${name}!`;
};

console.log(greet("Alice")); // 输出: Hello, Alice!
  • 括号里写参数
  • {} 内写函数体
  • 使用 return 返回值

单表达式简写

js
const greet = name => `Hello, ${name}!`;

console.log(greet("Bob")); // 输出: Hello, Bob!
  • 单参数时可以省略括号
  • 单表达式时可以省略 {}return

多参数

js
const add = (a, b) => a + b;
console.log(add(2, 3)); // 5
  • 多参数必须用括号包裹

没有参数

js
const sayHi = () => console.log("Hi!");
sayHi(); // 输出: Hi!

箭头函数的特点(与普通函数的区别)

  • 没有自己的 this

    • 箭头函数中的 this 继承自外层作用域
  • 没有 arguments 对象

    • 可以使用 剩余参数 ...args
  • 不能作为构造函数

    • 不能使用 new 调用
js
function Person(name) {
this.name = name;
}

const PersonArrow = (name) => {
this.name = name; // this 指向外层,不能创建实例
};

const p = new Person("Alice"); // 正常
// const p2 = new PersonArrow("Bob"); // 报错

应用示例

js
const numbers = [1, 2, 3, 4, 5];

// 用箭头函数作为回调
const squares = numbers.map(n => n * n);
console.log(squares); // [1, 4, 9, 16, 25]
  • 常用于数组操作、事件回调、定时器等。