📅  最后修改于: 2023-12-03 15:40:05.693000             🧑  作者: Mango
JavaScript 是一种基于对象和事件驱动的高级编程语言,最初用于为网页添加交互式效果。在最新版本的 ECMAScript 标准中,不断增加了新的函数和功能,为开发人员提供更加强大和便捷的编程工具。
下面介绍一些新的函数和功能:
Array.from()
Array.from()
函数从类数组或可迭代对象创建一个新的数组实例。
const str = 'hello';
const arr = Array.from(str);
console.log(arr); // ['h', 'e', 'l', 'l', 'o']
Array.of()
Array.of()
函数创建一个由给定参数组成的新数组。
const arr1 = Array.of(1, 2, 3);
const arr2 = Array.of(4);
const arr3 = Array.of('a', 'b', 'c');
console.log(arr1); // [1, 2, 3]
console.log(arr2); // [4]
console.log(arr3); // ['a', 'b', 'c']
Object.assign()
Object.assign()
函数将源对象复制到目标对象中并返回目标对象。如果有相同的属性,后面的属性会覆盖前面的属性。
const target = { a: 1, b: 2 };
const source = { b: 3, c: 4 };
const newObj = Object.assign(target, source);
console.log(newObj); // { a: 1, b: 3, c: 4 }
String.includes()
String.includes()
函数用于判断一个字符串是否包含另一个指定的字符串,返回布尔值。
const str = 'hello world';
console.log(str.includes('world')); // true
console.log(str.includes('hi')); // false
Promise.all()
和 Promise.race()
Promise.all()
和 Promise.race()
函数用于处理多个异步操作的结果。
Promise.all()
函数接收一个 Promise 数组,当所有 Promise 都成功返回时,它将返回一个包含所有 Promise 结果的数组,如果任何 Promise 出现错误,该函数将立即返回一个错误。
const promises = [
new Promise(resolve => setTimeout(() => resolve(1), 1000)),
new Promise(resolve => setTimeout(() => resolve(2), 2000)),
new Promise(resolve => setTimeout(() => resolve(3), 3000))
];
Promise.all(promises)
.then(result => console.log(result)) // [1, 2, 3]
.catch(error => console.log(error));
Promise.race()
函数接收一个 Promise 数组,当任何 Promise 成功返回时,它将返回该 Promise 的结果,如果所有 Promise 都失败,则返回最后一个 Promise 的错误。
const promises = [
new Promise(resolve => setTimeout(() => resolve(1), 1000)),
new Promise(resolve => setTimeout(() => resolve(2), 2000)),
new Promise(resolve => setTimeout(() => resolve(3), 3000))
];
Promise.race(promises)
.then(result => console.log(result)) // 1
.catch(error => console.log(error));
以上是一些新的函数和功能。它们可以帮助您更快、更容易地编写 JavaScript 代码,提高您的开发效率。