装修平台网站排名前十名,wordpress 附件大小 1m,微信二次开发,广州设计事务所1.声明变量: let 和 const
let 声明的变量可以被修改#xff1b;const 声明的变量是常量#xff0c;不可被修改。
let x 10;
const PI 3.14;
2. 箭头函数
更简洁#xff0c;绑定了词法作用域的 this 值。不会创建自己的 this#xff0c;而是继承了上下文中的 this 值…1.声明变量: let 和 const
let 声明的变量可以被修改const 声明的变量是常量不可被修改。
let x 10;
const PI 3.14;
2. 箭头函数
更简洁绑定了词法作用域的 this 值。不会创建自己的 this而是继承了上下文中的 this 值这意味着箭头函数的 this 始终指向定义时所在的作用域。
// 传统函数定义
function add(a, b) {return a b;
}// 箭头函数定义
const add (a, b) a b;// 词法作用域绑定
function Person() {this.age 0;setInterval(() {this.age; // this 指向 Person 对象}, 1000);
}// 隐式返回可省略 return 关键字
const add (a, b) a b;// 适用于回调函数
const arr [1, 2, 3];
const doubled arr.map(num num * 2);
3. 模板字符串
使用反引号 \ 和 ${} 来插入变量或表达式使字符串拼接更简洁。
const name Alice;
console.log(Hello, ${name}!);
4. 解构赋值
允许按照一定模式从数组或对象中提取值然后赋值给变量。
const [x, y] [1, 2];
const {name, age} {name: Alice, age: 30};
5. 默认参数
函数参数可以指定默认值当调用函数时没有传入对应参数时使用默认值。
function greet(name World) {console.log(Hello, ${name}!);
}
6. 展开运算符
展开运算符...可以将数组或对象展开为独立的元素或者将多个参数合并为数组。
const arr1 [1, 2, 3];
const arr2 [...arr1, 4, 5];
const obj1 {a: 1, b: 2};
const obj2 {...obj1, c: 3};
7. 类和继承
ES6 引入了类class和继承的语法糖更易于面向对象编程。
class Animal {constructor(name) {this.name name;}speak() {console.log(${this.name} makes a noise.);}
}class Dog extends Animal {constructor(name) {super(name);}speak() {console.log(${this.name} barks.);}
}const dog new Dog(Spot);
dog.speak(); // Spot barks.
8. Promise 对象
Promise 是一种用于异步编程的对象用于表示一个异步操作的最终完成或失败及其结果值
Promise 对象的特点 状态pending进行中、fulfilled已成功和 rejected已失败。状态一旦改变就不会再变从 pending 到 fulfilled 或者从 pending 到 rejected。 状态转换只能由 pending 转换为 fulfilled 或者 rejected并且一旦状态确定就不可再改变。 结果值状态变为 fulfilled 时会传递一个结果值状态变为 rejected 时会传递一个拒绝原因错误信息。
const promise new Promise((resolve, reject) {// 执行异步操作setTimeout(() {// 异步操作成功调用 resolve 并传递结果值resolve(Success!);// 异步操作失败调用 reject 并传递拒绝原因// reject(Error!);}, 1000);
});promise.then(// 成功时执行的回调函数result {console.log(result); // Success!},// 失败时执行的回调函数error {console.error(error); // Error!}
);