let과 var 모두 js에서 변수를 정의할 수 있습니다. 이 글에서는 주로 js에서 변수를 정의하는 let과 var의 차이점을 소개합니다. 참고할 만한 내용이 있어서 필요한 분들이 참고하시면 좋겠습니다. 모두를 도와주세요.
javascript strict 모드
이것은 제가 처음으로 let 키워드를 접한 것입니다. 주의해야 할 매우 중요한 개념 중 하나는 "javascript strict 모드"입니다. 실행되면 오류가 보고됩니다:
let hello = 'hello world.'; console.log(hello);
오류 메시지는 다음과 같습니다:
let hello = 'hello world.'; ^^^ SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode ...
해결책은 파일 헤더에 "javascript strict mode" 문을 추가하는 것입니다:
'use strict'; let hello = 'hello world.'; console.log(hello);
let과 var 키워드의 유사점과 차이점
선언 후 값을 할당하지 않으면 성능은 동일합니다
'use strict'; (function() { var varTest; let letTest; console.log(varTest); //输出undefined console.log(letTest); //输出undefined }());
선언되지 않은 변수를 사용하면 성능이 다릅니다.
(function() { console.log(varTest); //输出undefined(注意要注释掉下面一行才能运行) console.log(letTest); //直接报错:ReferenceError: letTest is not defined var varTest = 'test var OK.'; let letTest = 'test let OK.'; }());
같은 변수를 반복해서 선언하면 동작이 다릅니다.
'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); }());
변수의 범위 동작이 다릅니다
'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不是同一个变量 }());
관련 권장 사항:
Javascript에서 변수를 정의하는 방법은 무엇입니까?
JavaScript의 변수 선언과 변수 var의 정의에 대한 다양한 이해와 분석에 대하여
위 내용은 js에서 let 및 var를 사용하여 변수를 정의하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!