ES6新特性

ES6简介

ES6(ECMAScript 2015)引入了一些非常有用的特性和语法改进,使得JavaScript变得更加简洁和强大。以下是一些常用的ES6特性:

let 和 const
  • let: 用于声明变量,具有块级作用域。
  • const: 用于声明常量,具有块级作用域,一旦赋值不可再修改
let name = "Alice";
const age = 30;
箭头函数

箭头函数提供了更简洁的函数表达方式,并且不绑定自己的this

const add = (a, b) => a + b;
console.log(add(2, 3)); // 5
模板字符串

使用反引号(``)来创建多行字符串,并支持嵌入变量。

const name = "Alice";
const greeting = `Hello, ${name}!`;
console.log(greeting); // Hello, Alice!
解构赋值

允许从数组或对象中提取数据,并将它们赋值给变量。

// 原生写法
const admin = { user:"xxx",password:321};
const user = admin.user;
const password = admin.password;
console.log(user); // xxx
console.log(password);  // 321

// ES6
const person = { name: "Alice", age: 30 };
const { name, age } = person;
console.log(name); // Alice
console.log(age);  // 30

const numbers = [1, 2, 3];
const [first, second] = numbers;
console.log(first); // 1
console.log(second); // 2
默认参数

允许为函数参数设置默认值。

const greet = (name = "Guest") => `Hello, ${name}!`;
console.log(greet()); // Hello, Guest!
console.log(greet("Alice")); // Hello, Alice!
扩展运算符(...)

用于数组或对象的展开和合并。

const numbers = [1, 2, 3];
const moreNumbers = [...numbers, 4, 5];
console.log(moreNumbers); // [1, 2, 3, 4, 5]

const person = { name: "Alice", age: 30 };
const updatedPerson = { ...person, location: "New York" };
console.log(updatedPerson); // { name: "Alice", age: 30, location: "New York" }
类(Class)

引入了基于原型的面向对象编程的新语法。

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

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

const alice = new Person("Alice", 30);
alice.greet(); // Hello, my name is Alice
模块化(import/export)

提供了模块导入和导出的标准方式。

// module.js
export const PI = 3.14;
export function add(a, b) {
    return a + b;
}

// main.js
import { PI, add } from './module.js';
console.log(PI); // 3.14
console.log(add(2, 3)); // 5
Promise

提供了处理异步操作的新方式。

const fetchData = () => {
    return new Promise((resolve, reject) => {
        setTimeout(() => resolve("Data fetched"), 1000);
    });
};

fetchData().then(data => console.log(data)); // Data fetched
Map 和 Set

Map是键值对的集合,Set是值的集合,所有值都是唯一的。

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

const set = new Set([1, 2, 2, 3]);
console.log(set); // Set(3) { 1, 2, 3 }

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值