es6中声明变量的方式有两种let
和const
。
let
- 可以只声明不给值(默认undefined),或者先声明后给值。但是必需声明后再用
- 同一个作用域里不能重复声明(不同作用域里可以),不会被预解析
- 具有块级作用域
- 声明的变量不再属于window的属性
//可以只声明不给值(默认undefined),或者先声明后给值。但是必需声明后再用
console.log(a) //报错
let a;
console.log(a); //undefined
a='xiaohuang';
console.log(a); //xiaohuang
//声明的变量不再属于window的属性
console.log(window.a); //undefined
//同一个作用域里不能重复声明
et a=0; //报错
const(常量)
- 必需先声明后使用,声明时候必需给值
- 声明后不能修改,注意:const声明的对象中的属性是可以修改的
- 同一个作用域里不能重复声明(不同作用域里可以),不会被预解析
- 具有块级作用域
- 声明的变量不再属于window的属性
//const 报错
//console.log(b); 报错
const b=10;
//b='kaivon'; 报错
//const b='23' 报错
console.log(window.b); //undefined
//const声明的对象中的属性是可以修改的
const obj={
a:10,
b:20
};
obj.a=30;
console.log(obj); //{a:10,b:30}