ES6 部分新特性使用

箭头函数

复制代码
`// 箭头函数定义
const add = (a, b) => a + b;
console.log(add(1, 2)); // 输出3

// 箭头函数表达式
const nums = [1, 2, 3];
const sum = nums.reduce((total, num) => total + num, 0);
console.log(sum); // 输出6`

模板字符串

复制代码
``// 使用模板字符串拼接字符串
const name = 'Alice';
const age = 20;
console.log(`Name: ${name}, Age: ${age}`); // 输出 Name: Alice, Age: 20``

解构赋值

复制代码
`// 从数组中解构赋值
const [x, y] = [10, 20];
console.log(x); // 输出10
console.log(y); // 输出20

// 从对象中解构赋值
const { name, age } = { name: 'Alice', age: 20 };
console.log(name); // 输出Alice
console.log(age); // 输出20`

默认参数

复制代码
``// 设置默认参数
function greet(name = 'John') {
console.log(`Hello, ${name}`);
}
greet(); // 输出 Hello, John
greet('Alice'); // 输出 Hello, Alice``

块级作用域变量(使用let和const)

复制代码
`// 使用let定义块级作用域变量
if (true) {
let x = 10;
console.log(x); // 输出10
} else {
console.log(x); // ReferenceError: x is not defined
}`

类(Class)定义(扩展了ES5的类语法)

复制代码
``class Person {
constructor(name) {
this.name = name;
}
greet() {
console.log(`Hello, ${this.name}`);
}
}
const person = new Person('Alice');
person.greet(); // 输出 Hello, Alice``

模块化:

复制代码
`// 导出模块
export const PI = 3.14159;
export function area(radius) {
return PI * radius * radius;
}

// 导入模块
import { PI, area } from './math';
console.log(PI); // 输出3.14159
console.log(area(5)); // 输出78.53981633974483`

解构赋值:

复制代码
`let [x, y] = [10, 20];
console.log(x); // 输出10
console.log(y); // 输出20

let { name, age } = { name: 'Alice', age: 20 };
console.log(name); // 输出Alice
console.log(age); // 输出20`

Promise:

复制代码
`let promise = new Promise((resolve, reject) => {
setTimeout(() => resolve('Success!'), 1000);
});
promise.then(result => console.log(result)); // 输出Success!(1秒后)`
相关推荐
yuyuxun14 小时前
协同过滤的校园二手物品智能推荐系统的设计与实现 毕业设计-附源码40082
javascript·vue.js·spring boot·python·数据分析·django·课程设计
another heaven4 小时前
【C/C++ Ranges 是零开销抽象吗?拆开管道、惰性求值和编译期膨胀】
c语言·开发语言·c++
SomeOtherTime6 小时前
Rust 闭包语法和原理(AI回答)
开发语言·后端·rust
apcipot_rain6 小时前
C++转Java日记(10)
java·开发语言
总要学点什么7 小时前
第105篇:三维特效-流动图片墙体效果——让箭头沿墙长滚,它俩竟是同一份代码
开发语言·javascript·ecmascript·gis·webgl·材质·cesium
xiaoye-duck7 小时前
《C++ 项目:手写大模型接入 SDK》会话模块整合:内存 SessionManager 与 DataManager 持久化联动
开发语言·数据库·c++·语言模型
Agent世界8 小时前
用 CDP 做发布自动化:四道机器闸门与产物验收
前端·javascript
Funlang8 小时前
龙芯上的 Fun:从跑起来到机器码
开发语言·龙芯
总要学点什么8 小时前
第104篇:三维特效-流动墙体效果——让贴图沿墙流动,它却只肯走一条对角线
开发语言·javascript·ecmascript·gis·webgl·材质·cesium
程序员大阳9 小时前
副队长ES6+教程(3)--解构赋值
前端·javascript·es6·赋值·解构