返回
ES6 面试中的最强答案
前端
2023-10-27 00:55:43
- 变量声明
let 声明变量
ES6 引入了 let
来声明变量。let
声明的变量是块级作用域,这意味着它们只在声明它们的块中可用。这与 var
声明的变量不同,var
声明的变量是全局作用域或函数作用域。
let x = 10;
{
let y = 20;
console.log(x); // 10
console.log(y); // 20
}
console.log(x); // 10
console.log(y); // ReferenceError: y is not defined
const 声明常量
ES6 还引入了 const
关键字来声明常量。const
声明的常量是只读的,这意味着它们不能被重新赋值。
const PI = 3.14;
PI = 3.15; // TypeError: Assignment to constant variable.
2. 解构表达式
数组解构
ES6 引入了数组解构语法,它允许我们从数组中提取值并将其存储在变量中。
const arr = [1, 2, 3];
const [x, y, z] = arr;
console.log(x); // 1
console.log(y); // 2
console.log(z); // 3
对象解构
ES6 还引入了对象解构语法,它允许我们从对象中提取属性并将其存储在变量中。
const obj = {
name: 'John Doe',
age: 30,
city: 'New York'
};
const { name, age, city } = obj;
console.log(name); // John Doe
console.log(age); // 30
console.log(city); // New York
3. 字符串扩展
ES6 为字符串扩展了几个新的 API:
includes()
includes()
方法返回一个布尔值,表示是否包含指定的子字符串。
const str = 'Hello World';
console.log(str.includes('Hello')); // true
console.log(str.includes('World')); // true
console.log(str.includes('!')); // false
startsWith()
startsWith()
方法返回一个布尔值,表示是否以指定的子字符串开头。
const str = 'Hello World';
console.log(str.startsWith('Hello')); // true
console.log(str.startsWith('World')); // false
console.log(str.startsWith('!')); // false
endsWith()
endsWith()
方法返回一个布尔值,表示是否以指定的子字符串结尾。
const str = 'Hello World';
console.log(str.endsWith('Hello')); // false
console.log(str.endsWith('World')); // true
console.log(str.endsWith('!')); // false
结论
ES6 还有许多其他新特性,如箭头函数、类、模板字符串和模块等。在面试中,你只需要掌握一些最基本的新特性,就能展现你的技术能力和对 JavaScript 的深刻理解。