let
const
class 類
import 引入子產品
export 暴露接口
// var a = 10;
// let b = 20;
// const c = 30;
var和let比
console.log(a) //undefined
var a = 10;
// 不存在變量提升
console.log(a) //報錯
let a = 10;
//
var a = 10;
var a = 20;
console.log(a)
//// 不允許重複聲明
let a = 10;
let a = 20;
console.log(a)
////
if(true){
var a = 10;
}
console.log(a);
// let具有塊級作用域:花括号就是作用域
if(true){
let a = 10;
}
console.log(a); //報錯
//
function fn(){
a = 20;
var a = 10;
}
fn()//不報錯
暫時性死區
function fn(){
a = "hello";
let a = 10; //不允許被指派
//
}
fn() //報錯
// const和let的特點除了一個,其他都一樣
let a = 10;
a = 20
console.log(a)
//
//// const儲存的固定的内容不是值,而是位址
//// const的變量,不允許位址被修改但是值可以修改。
//
const a = 10;
a = 20;
console.log(a) //報錯
demo:修改值而不修改位址
const obj = {name:"admin"}
obj.name = "root";
console.log(obj)