var、let、constの3つの違い

7852 ワード

1.varで定義された変数はブロック作用領域をまたいでアクセスできます.
for(var i=0; i<10; i++){ 
	console.log(i);
}
console.log(i); //10
(function fun(){
	for(var j=0; j<10; j++){ 
		console.log(j);
	}
})();
console.log(j);//  
変数の昇格
console.log(age); //undefined
var age = 2;
2.letで定義された変数は、ブロックの作用領域にのみアクセスでき、ブロックをまたいでアクセスできなく、関数をまたいでアクセスできません.同じスコープ内で同じ変数を繰り返し宣言することは許されません.
for(let k=0; k<10; k++){ 
	console.log(k);//    
}
console.log(k);//  
(function fun(){
	for(let j=0; j<10; j++){ 
		console.log(j);
	}
})();
console.log(j);//  
function fun1() {
  let a1 = 10;
  let a1 = 1;
  console.log(a1);
}
fun1();//  
変数の昇格は存在しません.
console.log(num);//   
let num = 2;
3.constで定義された定数は、初期化時には必ず値を割り当て、ブロックのスコープでしか使用できず、修正できない.
const NUM = 0;
console.log(NUM)//0
const A = 10;
A=20;//