Javascriptの変数
2094 ワード
JavaScriptでは、変数の作成は文字どおりの量と構造関数によって作成されます.varとletは変数を宣言し、constは定数を宣言し、オブジェクトも変数である. varとlet宣言変数の違い 1.varとletはグローバルスコープで宣言したのはすべてグローバル変数であり、値を再割り当てすることができますが、letで宣言した変数は声明を繰り返してはいけません. varには変数が存在し、letとconstには変数が存在しません. JavaScriptの構文解析では、キーワード宣言による変数は現在のスコープのコードの先頭に引き上げられます.変数の割り当て前にこの変数の値がundefinedであり、letとconst宣言の変数の割り当て前には使用できません. const定数は変更できません.及び再割当不能及び声明 変数名と関数名(一般関数)とオブジェクト関数名 1.変数名と関数名が重複している場合、変数はJavaScriptのプリコンパイルによって有効になり、変数がアップグレードされ、関数宣言は変数よりも早くなり、宣言された変数は繰り返し宣言されません.再割り当てだけです.
let a = 1;
let a = 2; // * *
2.ES 6に追加されたletキーワードは、ブロックレベルのスコープで宣言された変数をブロックレベルのスコープでのみ有効にします.この点を利用して変数名の衝突を避けることができます.関数ではletで変数を宣言したほうがいいです.ho();
function ho(){
let a = 1; // * *
if(true){
let a = 2; // * if *
console.log(a); // 2
}
console.log(a); // 1
}
console.log(a); // undefined
console.log(b); // ReferenceError: Cannot access 'b' before
console.log(c); // ReferenceError: Cannot access 'c' before
var a = 1;
let b = 1;
const c = 1;
const a = 1; // a, a 1
a = 2; // ( )
const a = 2; // ( )
// function a(){};
// var a;
var a = 1;
function a(){} //
console.log(a); // 1
2.オブジェクト関数は、変数の再割り当てに相当します.// var a;
var a = 1;
var a = function(){} //
console.log(a); // function(){}
3.グローバルスコープwindowの下で関数の中のスコープthisはwindow(非厳格モード)を指し、this.関数名によって変数を宣言し、変数は再割り当てされ、関数は上書きされます.function ho(){
this.ho = 1; // this window,window.ho 1
console.log(ho);// window.a 1,
var a = 1; //
}
console.log(ho); // ho
ho() // ho
console.log(ho); // window ho , 1
console.log(a); // a ,
まとめ:varとletは変数を宣言して、constは定数を宣言します.var宣言の変数には変数が存在し、繰り返し宣言し、再割り当てができます.let変数には変数がアップグレードされておらず、繰り返し宣言はできませんが、値を再割り当てできます.const定数は、声明を繰り返したり、値を再割り当てしたりすることができません.