10个JavaScript编程小技巧

技巧1:使用解构赋值交换变量值

let a = 1;
let b = 2;

[a, b] = [b, a];

console.log(a); // 输出2
console.log(b); // 输出1

这种方式可以很方便地交换两个变量的值而不需要引入第三个变量。

技巧2:使用数组解构获取函数返回值

function getNumbers() {
  return [1, 2, 3];
}

const [a, b, c] = getNumbers();

console.log(a); // 输出1
console.log(b); // 输出2
console.log(c); // 输出3

这种方式可以很方便地从函数获取多个返回值。

技巧3:使用默认参数

function greet(name = 'Guest') {
  console.log(`Hello ${name}!`);
}

greet(); // 输出 Hello Guest!
greet('John'); // 输出 Hello John!

这种方式可以避免在函数中检查是否传递了参数,如果传递了则使用参数值,否则使用默认值。

技巧4:使用展开运算符合并数组

const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];

const mergedArr = [...arr1, ...arr2];

console.log(mergedArr); // 输出 [1, 2, 3, 4, 5, 6]

这种方式可以很方便地将多个数组合并成一个数组。

技巧5:使用模板字面量

const name = 'John';

console.log(`Hello ${name}!`); // 输出 Hello John!

这种方式可以很方便地在字符串中插入变量值。

技巧6:使用箭头函数

const numbers = [1, 2, 3];

const doubledNumbers = numbers.map(number => number * 2);

console.log(doubledNumbers); // 输出 [2, 4, 6]

这种方式可以很方便地创建匿名函数,而且不需要使用function关键字。

技巧7:使用对象解构

const person = {
  name: 'John',
  age: 30,
  location: 'New York'
};

const { name, age } = person;

console.log(name); // 输出 John
console.log(age); // 输出 30

这种方式可以很方便地从对象中获取属性值,并将其赋值给变量。

技巧8:使用扩展运算符复制对象

const person = {
  name: 'John',
  age: 30,
  location: 'New York'
};

const copiedPerson = { ...person };

console.log(copiedPerson); // 输出 {name: "John", age: 30, location: "New York"}

这种方式可以很方便地复制一个对象,而且不会影响原始对象。

技巧9:使用模板字面量创建多行字符串

const message = `Hello,
World!`;

console.log(message); // 输出 Hello, \n World!

这种方式可以很方便地创建包含多行文本的字符串。

技巧10:使用Promise.all()并行处理异步任务

当需要同时处理多个异步任务时,可以使用 Promise.all() 方法将所有的 Promise 对象包装成一个新的 Promise 对象。这个新的 Promise 对象在所有 Promise 对象都成功完成之后才会被 resolved(解决),或者当任意一个 Promise 对象失败时就会被 rejected(拒绝)。下面是一个示例代码:

const promise1 = new Promise((resolve, reject) => {
  setTimeout(() => {
    resolve('Promise 1');
  }, 1000);
});

const promise2 = new Promise((resolve, reject) => {
  setTimeout(() => {
    resolve('Promise 2');
  }, 2000);
});

const promise3 = new Promise((resolve, reject) => {
  setTimeout(() => {
    resolve('Promise 3');
  }, 3000);
});

Promise.all([promise1, promise2, promise3])
  .then(values => console.log(values))
  .catch(error => console.log(error));

在上面的代码中,我们创建了三个 Promise 对象,每个对象都会在不同的时间间隔后成功 resolve,并返回不同的字符串。然后我们将这三个 Promise 对象作为参数传递给 Promise.all() 方法。Promise.all() 方法返回一个新的 Promise 对象,它会等待所有的 Promise 对象都完成后再被解决。在这个例子中,我们通过 .then() 方法输出了所有 Promise 对象成功执行后的结果,也可以通过 .catch() 方法来处理 Promise 对象执行失败的情况。

扫描二维码关注公众号,回复: 17157548 查看本文章

猜你喜欢

转载自blog.csdn.net/weixin_42981560/article/details/134725242