Skip to content

函数

ES6(ECMAScript 2015)引入了多种新的函数相关特性和改进,这些更新使得编写 JavaScript 代码更加简洁、灵活和强大。以下是 ES6 中与函数相关的几个重要特性:

箭头函数(Arrow Functions)

箭头函数提供了一种更简短的语法来编写函数,并且它们不绑定自己的thisargumentssupernew.target关键字。

  • 基本语法:

    javascript
    // ES5
    var add = function (a, b) {
      return a + b;
    };
    
    // ES6 箭头函数
    const add = (a, b) => a + b;
  • 如果函数体有多行,则需要用大括号包围,并显式地使用return语句。

    javascript
    const multiply = (a, b) => {
      let result = a * b;
      return result;
    };

默认参数值

允许在定义函数时为参数指定默认值,如果调用函数时没有提供相应的参数,则使用默认值。

javascript
function greet(name = "Guest") {
  console.log(`Hello, ${name}!`);
}
greet(); // 输出: Hello, Guest!

剩余参数(Rest Parameters)

剩余参数允许将不定数量的参数表示为一个数组。

javascript
function sum(...numbers) {
  return numbers.reduce((total, num) => total + num, 0);
}
console.log(sum(1, 2, 3)); // 输出: 6

展开运算符(Spread Operator)

展开运算符可以将数组元素或者对象属性“展开”成独立的元素或属性。

  • 在函数调用中使用:
    javascript
    const nums = [1, 2, 3];
    console.log(Math.max(...nums)); // 输出: 3

函数名属性

在 ES6 中,所有函数都拥有一个name属性,它包含了函数的名字。对于匿名函数表达式,这个属性可能为空字符串或根据实现而定的名字。

javascript
function doSomething() {}
console.log(doSomething.name); // 输出: "doSomething"

类中的方法

ES6 引入了类的概念,可以在类中定义方法,包括构造器方法、普通方法、静态方法等。

javascript
class Rectangle {
  constructor(height, width) {
    this.height = height;
    this.width = width;
  }

  // 方法
  getArea() {
    return this.height * this.width;
  }

  // 静态方法
  static createSquare(size) {
    return new Rectangle(size, size);
  }
}

这些新特性不仅提高了代码的可读性和维护性,同时也让开发者能够以更加现代的方式编写 JavaScript 代码。

Released under the MIT License.