ES6中的let和const是用来声明变量的关键字,与var不同的是,let和const块级作用域,只在声明的块中有效。let声明的变量可以被改变,而const声明的变量不能改变,相当于常量。
例如:
let x = 5;
if (true) {
let x = 10;
console.log(x); //输出10
}
console.log(x); //输出5
const PI = 3.14159;
PI = 3; //会报错,因为常量不能被改变
解构赋值是一种快速访问和使用对象和数组的方式。可以将对象或数组中的元素解构为单独的变量。例如:
let nums = [1, 2, 3];
let [a, b, c] = nums;
console.log(a); //输出1
console.log(b); //输出2
console.log(c); //输出3
let obj = {x: 1, y: 2};
let {x, y} = obj;
console.log(x); //输出1
console.log(y); //输出2
还可以使用解构赋值来给变量设置默认值,例如:
let [a=1, b=2] = [3];
console.log(a); //输出3
console.log(b); //输出2
let arr = [1, 2, 3];
let [a, b, c] = arr;
console.log(a); // 1
console.log(b); // 2
console.log(c); // 3
解构赋值是一种从数组或对象中提取数据并赋值给变量的方式。它可以使代码更加简洁和可读。在ES6之前,获取数组或对象中的元素通常需要使用索引或属性名,而解构赋值可以在一行代码中完成这些操作。
以下是一些使用解构赋值的示例:
- 数组解构赋值
let arr = [1, 2, 3];
let [a, b, c] = arr;
console.log(a); // 1
console.log(b); // 2
console.log(c); // 3
- 对象解构赋值
let obj = {name: 'Alice', age: 25};
let {name, age} = obj;
console.log(name); // 'Alice'
console.log(age); // 25
- 嵌套解构赋值
let arr = [1, [2, 3], 4];
let [a, [b, c], d] = arr;
console.log(a); // 1
console.log(b); // 2
console.log(c); // 3
console.log(d); // 4
let obj = {name: 'Alice', age: 25, address: {city: 'New York', state: 'NY'}};
let {name, age, address: {city, state}} = obj;
console.log(name); // 'Alice'
console.log(age); // 25
console.log(city); // 'New York'
console.log(state); // 'NY'
- 默认值
let arr = [1, 2];
let [a, b, c = 3] = arr;
console.log(a); // 1
console.log(b); // 2
console.log(c); // 3
let obj = {name: 'Alice', age: 25};
let {name, age, address = {city: 'New York', state: 'NY'}} = obj;
console.log(name); // 'Alice'
console.log(age); // 25
console.log(address.city); // 'New York'
console.log(address.state); // 'NY'
除了基本语法之外,还有一些高级用法,如剩余参数、展开运算符等。解构赋值是一种强大的工具,可以大大提高代码的简洁性和可读性。
ES6中引入了新的声明变量方式const,用于声明一个常量。使用const声明的变量必须在声明时进行初始化,并且不能重新赋值。
例如:
const PI = 3.1415926;
console.log(PI);
// 3.1415926
PI = 3; // TypeError: Assignment to constant variable.
注意,使用const声明的变量并不是完全不可修改的,如果该变量是一个对象或数组,则可以修改该变量的属性或元素。但是,不能重新赋值该变量所指向的新对象或数组。
例如:
const person = { name: 'Tom', age: 18 };
console.log(person.name);
// Tom
person.name = 'Jerry';
console.log(person.name);
// Jerry
person = { name: 'Lucy', age: 20 }; // TypeError: Assignment to constant variable.
总结来说,ES6中const的使用只是限制了变量的重新赋值,如果变量是对象或数组,可以修改其中的属性或元素,但是不能重新赋值为新的对象或数组。
padStart是一个字符串方法,用于在当前字符串的开头添加指定字符,以便字符串达到指定长度。
padStart方法接收两个参数,第一个参数是指定字符串的最小长度,第二个参数是用来填充字符串的字符。如果当前字符串的长度不足最小长度,则在开头添加指定字符,直到达到最小长度。
例如:
const str = 'hello';
const paddedStr = str.padStart(10, ' ');
console.log(paddedStr); // ' hello'
在此示例中,padStart方法将在字符串的开头添加了5个空格,以便字符串达到最小长度为10。如果当前字符串的长度已经超过了最小长度,则不会添加任何字符。
padStart方法非常有用,例如可以用于格式化时间、日期,以及在输出表格等场景中协助对齐文本。