[ES6] 변수 선언const·let·var의 요약
3922 단어 JavaScriptReactfrontendes6tech
이거 뭐야?
ES6 메모로 작성할 수 있는 기회가 증가했습니다
const
,let
,var
의 차이점을 잘 모르기 때문에 어떤 차이점이 있는지 요약해 보았습니다.결론
기본적으로 사용
const
.for 순환 처리 등처럼 재대입이 필요한 경우에만 사용
let
.var
행동을 파악하기 어려워 버그의 온상이 될 수 있어 사용하지 않는다.용어
각 특징을 이해할 때 총결해 낸 용어
각각의 특징
const
다시 대입할 수 없다
더 이상 성명할 수 없다
코코넛 젤리를 들고 있어요.
Blockcop 외부에서 액세스를 제한합니다.Blockcop 이외의 곳에서는 참고할 수 없다는 것이다.
함수 역할 영역 있음
함수 범위 이외의 접근을 제한합니다.함수 범위 밖에서 참조할 수 없다는 것이다.
let
재대입 가능
더 이상 성명할 수 없다
코코넛 젤리를 들고 있어요.
Blockcop 외부에서 액세스를 제한합니다.Blockcop 이외의 곳에서는 참고할 수 없다는 것이다.
함수 역할 영역 있음
함수 범위 이외의 접근을 제한합니다.함수 범위 밖에서 참조할 수 없다는 것이다.
var
재대입 가능
재선언 가능
목도리
블록 코드 이외의 곳에 접근할 수 있습니다.즉, Blockcop 이외의 곳에서 참조할 수 있다.
함수 역할 영역 있음
함수 범위 이외의 접근을 제한합니다.함수 범위 밖에서 참조할 수 없다는 것이다.
다시 나타나다
재대입
재대입
const constValue = 'Hello!!';
let letValue = 'Hello!!';
var varValue = 'Hello!!';
// 再代入
constValue = 'Goodby!!';
letValue = 'Goodby!!';
varValue = 'Goodby!!';
console.log(constValue);
console.log(letValue);
console.log(varValue);
// エラー内容
Uncaught TypeError: Assignment to constant variable.
Goodby!!
Goodby!!
const
만 하면 오류가 발생합니다.다시 성명한다
const constValue = 'Hello!!';
let letValue = 'Hello!!';
var varValue = 'Hello!!';
// 再宣言
const constValue = 'Goodby!!';
let letValue = 'Goodby!!';
var varValue = 'Goodby!!';
console.log(constValue);
console.log(letValue);
console.log(varValue);
// エラー内容
Uncaught SyntaxError: Identifier 'constValue' has already been declared
Uncaught SyntaxError: Identifier 'letValue' has already been declared"
Goodby!!
const
와 let
재성명을 시도하면 오류가 발생합니다.코코넛 젤리
const isTest = true;
if(isTest) {
const constValue = 'Hello!!';
let letValue = 'Hello!!';
var varValue = 'Hello!!';
}
console.log(constValue);
console.log(letValue);
console.log(varValue);
// 出力
Uncaught ReferenceError: constValue is not defined
Uncaught ReferenceError: letValue is not defined
"Hello!!"
const
와 let
는if문장 등 블록 코드 이외에 참조할 수 없습니다함수 작용역
const setValuables = (text) => {
const constValue = text;
let letValue = text;
var varValue = text;
}
setValuables('Hello!!');
console.log(constValue);
console.log(letValue);
console.log(varValue);
// 出力
Uncaught ReferenceError: constValue is not defined
Uncaught ReferenceError: letValue is not defined
Uncaught ReferenceError: varValue is not defined
const
,let
와var
는 함수 블록 이외에서 참조할 수 없습니다const, let 우수
var
선언의 블록 이외에도 영향을 받기 때문에 의도하지 않은 곳에서 값이 달라진다.const
, 선언된let
블록 내에 대한 영향이 수렴되기 때문에 무의식중에 값의 변화를 방지할 수 있다.const는 상수처럼 보이지만 상수가 아니다
const
재대입은 안되지만 변경オブジェクト型(Array, Objectなど)
할 수 있는 내용입니다.예를 들어, 수조에 수조를 다시 지정할 때 오류가 발생하지만, 수조 내용의 일부분을 변경할 때 오류 없이 수정할 수 있다.
따라서
const
는 상수로 보이지만 상수가 아니라고 할 수 있다.총결산
요약 후 느낀 것은 사용 제한이 적은
var
이 아니라 제한이 많은const
,let
사용하는 것이 좋습니다.또한 기본적으로 변수는const로 정의하고 for문 등 처리에서 변수를 세려면
let
로 구분해서 사용하는 것이 좋다.
Reference
이 문제에 관하여([ES6] 변수 선언const·let·var의 요약), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/yuji6523/articles/8501743a7e1d31텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)