ES6都有什么

现在继续上一篇文章的内容

6. 扩展运算符(Spread Operator)

扩展运算符 ... 可以用于展开数组或对象,常用于复制或合并数组/对象。

// 数组扩展
const arr1 = [1, 2, 3];
const arr2 = [...arr1, 4, 5];
console.log(arr2);  // [1, 2, 3, 4, 5]

// 对象扩展
const obj1 = { a: 1, b: 2 };
const obj2 = { ...obj1, c: 3 };
console.log(obj2);  // { a: 1, b: 2, c: 3 }

7. 类(Classes)

ES6 引入了基于原型的面向对象编程的类语法,简化了对象的创建和继承。

class Person {
    constructor(name, age) {
        this.name = name;
        this.age = age;
    }

    greet() {
        console.log(`Hello, ${this.name}!`);
    }
}

const john = new Person('John', 30);
john.greet();  // Hello, John!

8. 模块(Modules)

ES6 引入了原生的模块系统,可以通过 importexport 来分割代码。

// module.js
export const PI = 3.14;
export function square(x) {
    return x * x;
}

// main.js
import { PI, square } from './module.js';
console.log(PI);  // 3.14
console.log(square(2));  // 4

9. Promise

Promise 对象用于表示一个异步操作的最终完成(或失败)及其结果值。它使得处理异步操作更加直观。

const promise = new Promise((resolve, reject) => {
    let success = true;
    if (success) {
        resolve('Operation was successful!');
    } else {
        reject('Operation failed!');
    }
});

promise.then(result => console.log(result)).catch(error => console.log(error));

10. Set 和 Map

  • Set:集合类型,存储唯一的值。
  • Map:映射类型,存储键值对。
// Set
const uniqueNumbers = new Set([1, 2, 2, 3, 4]);
console.log(uniqueNumbers);  // Set { 1, 2, 3, 4 }

// Map
const map = new Map();
map.set('name', 'Alice');
map.set('age', 25);
console.log(map.get('name'));  // Alice

11. 符号(Symbol)

Symbol 是一种新的基本数据类型,用于创建独一无二的值,通常用于对象属性的键。

const sym1 = Symbol('description');
const sym2 = Symbol('description');
console.log(sym1 === sym2);  // false

总结

ES6 引入了许多新的语言特性,极大地提高了 JavaScript 的开发体验和效率。你可以通过这些新特性让代码更加简洁、清晰,同时避免一些旧版本的 JavaScript 中常见的问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值