javascriptのletとvarとconstキーワードの違いを知る
1.宣言後の値なし、表現は同じです。
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。
//
'use strict';
(function() {
var varTest;
let letTest;
console.log(varTest); // undefined
console.log(letTest); // undefined
}());
2.未宣言の変数を使うと、表現が違ってきます。
//
(function() {
console.log(varTest); // undefined( )
console.log(letTest); // :ReferenceError: letTest is not defined
var varTest = 'test var OK.';
let letTest = 'test let OK.';
}());
3.同じ変数を繰り返し宣言する場合、表現が異なります。
//
'use strict';
(function() {
var varTest = 'test var OK.';
let letTest = 'test let OK.';
var varTest = 'varTest changed.';
let letTest = 'letTest changed.'; // :SyntaxError: Identifier 'letTest' has already been declared
console.log(varTest); // varTest changed.( letTest )
console.log(letTest);
}());
4.変数の作用範囲、表現が異なる
//
'use strict';
(function() {
var varTest = 'test var OK.';
let letTest = 'test let OK.';
{
var varTest = 'varTest changed.';
let letTest = 'letTest changed.';
}
console.log(varTest); // "varTest changed.", "{}" varTest letTest
console.log(letTest); // "test let OK.", "{}" letTest letTest
}());
5.constで定義されている変数は変更できず、初期化が必要です。
//
const b = 2;//
// const b;// ,
console.log(' const b:' + b);//
// b = 5;
// console.log(' const b:' + b);//
6.var定義の変数は変更できます。初期化しないとundefinedが出力されます。エラーが発生しません。
var a = 1;
// var a;//
console.log(' var a:' + a);// a=1
function change(){
a = 4;
console.log(' var a:' + a);// a=4
}
change();
console.log(' var a :' + a);// a=4
7.letはブロックレベルのスコープで、関数内部でletを使用して定義した後、関数外部に影響がありません。
let c = 3;
console.log(' let c:' + c);// c=3
function change(){
let c = 6;
console.log(' let c:' + c);// c=6
}
change();
console.log(' let c :' + c);// c=3
勉強はこれで終わります。以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。