一、var let const
1.var
var a = 1;
var a = 2;
console.log(a); // 结果:2
var a=1;在之前已经被声明,之后var a=2; 再一次声明,重写了已声明的变量,存在两个同名变量容易出错。
2.let
let a = 1;
let a = 2;
console.log(a); // 结果直接报错
// Uncaught SyntaxError: Identifier 'a' has already been declared
//错误信息:a已经被声明了
let在已存在同名变量时不能再重新声明,会报错,减小了风险。
3.const
(1)const用来声明常量,声明后为只读,用任意方法修改会报错。
const PI = 3.14;
PI = 3;
console.log(a); // 结果:报错 const声明的是常量不能修改
// Uncaught TypeError: Assignment to constant variable.
(2)const在声明时必须赋予初值,不赋予初值会报错。
const PI;
console.log(PI); // 结果:报错 const声明的是常量不能修改
// Uncaught SyntaxError: Missing initializer in const declaration
(3)const在遇到对象时
可以修改对象里的属性值,可以新增对象里的属性值。但是不能对对象本身进行操作。
const js = {
name: 'vue'
}
js.name = 'React'; // 可以修改对象里的属性值
js.grade = 100; // 可以新增对象里的属性值
// js = {
// age: 13
// } 不能修改对象本身
console.log(js.name); // 结果:React
console.log(js.grade); // 结果:100
console.log(js.age); //报错
二、模板字面量
1.普通方法
var line = '二';
console.log('这是第一行。\n然后是第' + line + '行。');
//结果:这是第一行。
//然后是第二行。
2.ES5方法:
用` `包含里面的文字,参数用${ }包含。
var line = '二';
console.log(
`这是第一行。
然后是第${line}行。`);
//结果:这是第一行。
//然后是第二行。
可以省略\n来进行换行,简化输出。
三、函数的参数默认值
当函数传入的参数数目不足时,用函数内定义的默认值补上
function getSum(x = 1, y = 2, z = 3) {
return x + y + z;
}
console.log(getSum(4)); // 结果:9 4+2+3 当函数参数数目不足时,用默认值
console.log(getSum(4, 5)); // 结果:12 4+5+3
四、数组解构
可以用来一次性初始化多个变量
let [x, y] = ['a', 'b'];
console.log(x, y); // 结果:a b
[x, y] = [y, x];
console.log(x, y); // 结果:b a
// 用于x y的值非常方便,不需要设置中间变量