返回
速成 JavaScript 高手,18 个入门技巧不容错过!
前端
2023-10-10 02:17:03
18 个 JavaScript 入门技巧!
- 使用箭头函数简化代码
const greet = (name) => "Hello, " + name + "!";
// 等同于
function greet(name) {
return "Hello, " + name + "!";
}
- 利用解构赋值拆分对象和数组
const person = { name: "John", age: 30 };
const { name, age } = person;
console.log(name); // John
console.log(age); // 30
- 掌握模板字符串(又名模板字面量)
const name = "John";
const age = 30;
const greeting = `Hello, my name is ${name} and I am ${age} years old.`;
console.log(greeting); // Hello, my name is John and I am 30 years old.
- 熟练运用扩展运算符合并对象和数组
const obj1 = { name: "John" };
const obj2 = { age: 30 };
const combinedObj = { ...obj1, ...obj2 };
console.log(combinedObj); // { name: "John", age: 30 }
- 善用剩余运算符收集函数参数
function sum(...numbers) {
return numbers.reduce((total, num) => total + num, 0);
}
console.log(sum(1, 2, 3, 4, 5)); // 15
- 学习数组解构赋值
const numbers = [1, 2, 3, 4, 5];
const [first, second, ...rest] = numbers;
console.log(first); // 1
console.log(second); // 2
console.log(rest); // [3, 4, 5]
- 理解箭头函数的 lexical binding(词法作用域)
const person = {
name: "John",
greet: function() {
console.log(this.name); // John
}
};
person.greet();
- 了解箭头函数的箭头函数捕获闭包
const multiplier = (x) => (y) => x * y;
const doubler = multiplier(2);
console.log(doubler(5)); // 10
- 掌握高阶函数的应用
const numbers = [1, 2, 3, 4, 5];
const doubledNumbers = numbers.map((num) => num * 2);
console.log(doubledNumbers); // [2, 4, 6, 8, 10]
- 学会使用 filter 方法过滤数组元素
const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
const evenNumbers = numbers.filter((num) => num % 2 === 0);
console.log(evenNumbers); // [2, 4, 6, 8, 10]
- 熟悉 reduce 方法对数组元素进行累加
const numbers = [1, 2, 3, 4, 5];
const sum = numbers.reduce((total, num) => total + num, 0);
console.log(sum); // 15
- 了解 find 和 findIndex 方法查找数组元素
const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
const firstEvenNumber = numbers.find((num) => num % 2 === 0);
const indexOfFirstEvenNumber = numbers.findIndex((num) => num % 2 === 0);
console.log(firstEvenNumber); // 2
console.log(indexOfFirstEvenNumber); // 1
- 掌握 for...of 循环遍历数组
const numbers = [1, 2, 3, 4, 5];
for (const num of numbers) {
console.log(num); // 1 2 3 4 5
}
- 了解 forEach 方法遍历数组
const numbers = [1, 2, 3, 4, 5];
numbers.forEach((num) => console.log(num)); // 1 2 3 4 5
- 熟练运用 includes 方法检查数组是否包含元素
const numbers = [1, 2, 3, 4, 5];
console.log(numbers.includes(3)); // true
console.log(numbers.includes(6)); // false
- 学习 splice 方法添加、删除和替换数组元素
const numbers = [1, 2, 3, 4, 5];
numbers.splice(2, 0, 2.5); // 在索引 2 处添加 2.5
console.log(numbers); // [1, 2, 2.5, 3, 4, 5]
numbers.splice(3, 2); // 从索引 3 处删除 2 个元素
console.log(numbers); // [1, 2, 2.5, 5]
numbers.splice(2, 1, 3.5); // 从索引 2 处删除 1 个元素,并替换为 3.5
console.log(numbers); // [1, 2, 3.5, 5]
- 掌握 push 和 pop 方法添加和删除数组元素
const numbers = [1, 2, 3, 4, 5];
numbers.push(6); // 在数组末尾添加 6
console.log(numbers); // [1, 2, 3, 4, 5, 6]
numbers.pop(); // 从数组末尾删除最后一个元素
console.log(numbers); // [1, 2, 3, 4, 5]
- 了解 shift 和 unshift 方法添加和删除数组元素
const numbers = [1, 2, 3, 4, 5];
numbers.unshift(0); // 在数组开头添加 0
console.log(numbers); // [0, 1, 2, 3, 4, 5]
numbers.shift(); // 从数组开头删除第一个元素
console.log(numbers); // [1, 2, 3, 4, 5]