js에서 let과 var 정의 변수의 차이점은 무엇입니까?

亚连
풀어 주다: 2018-06-06 17:50:40
원래의
2165명이 탐색했습니다.

이 글은 js에서 정의된 변수 let과 var의 차이점을 주로 소개합니다. 매우 훌륭하고 참고할만한 가치가 있습니다. 필요하신 분들은 참고하시면 됩니다

javascript strict 모드

처음입니다. 주의해야 할 매우 중요한 개념 중 하나는 "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);
로그인 후 복사

선언되지 않은 변수를 사용하면 성능이 다릅니다:

'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);
}());
로그인 후 복사

위 내용은 제가 모든 사람을 위해 편집되었습니다. 앞으로 모든 사람에게 도움이 되기를 바랍니다.

관련 기사:

elementUI 구성 요소를 vue 프로젝트에 도입하는 방법에 대한 자세한 해석

Vue-cli에서 별도 페이지의 배경색을 설정하는 방법

vue에서 새로 고침 및 탭 전환

위 내용은 js에서 let과 var 정의 변수의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
js
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿