-
es6 - 1. let, const의 개념javascript/es6 2018. 8. 18. 21:50반응형
1. const는 값을 변경 할 수 없는 변수. (자바스크립트도 es6에서 상수를 도입)
var 를 사용한 코드
처음 var 를 사용하여 pizza 라는 변수를 만들고 true를 담았고,
그리고 다음 라인에서 다시 pizza 의 값을 false로 변경 하고
콘솔 로그로 pizza를 확인 하면 마지막에 변경 한 false 로 변경된 것을 확인 할 수 있다.
const 를 사용한 코드
처음 const를 사용하여 pizza라는 변수를 만들고 true를 담고,
그리고 다음 라인에서 pizaa 의 값을 false로 바꾸려고 하면 하단의 하얀 박스 처럼 콘솔 오류가 발생하는 것을 확인 할 수 있다.
위에 코드처럼 const는 값을 변경 할 수 없다.
그런데 이런경우에는 값이 변경이 될 수 있다.
상수를 사용하여 변수에 할당된 개체(배열 및 기능 포함)는 여전히 변이가 가능함.
데이터가 변경되지 않도록 하기 위해 JavaScript는 데이터 변이를 방지 하는 Object.freeze 기능을 제공함.
참고 사이트 : https://msdn.microsoft.com/ko-kr/library/ff806186(v=vs.94).aspx
2. let 을 사용하면 코드 블럭 {} 안으로 한정 시킬 수 있어 글로벌 변수의 값을 보호 할 수 있다.
자바스크립트에서는 중괄호 {} 를 사용 해 코드 블록을 만든다. 함수의 경우 이런 코드 블록 이 별도의 변수 영역을 이룬다.
하지만 if/else 문 같은 경우는 그렇지 않다.
var 를 사용한 코드
var를 사용하여 if문 안에서 전역에 있는 똑같은 변수명을 사용하여 값을 변경하고
if문 안에서 콘솔 로그를 찍고 , if문 밖에서 콘솔 로그를 찍으면 둘 다 리액트 로 변경된 것을 확인 할 수 있다.
let을 사용한 코드
let을 사용하여 if문 안에서 전역에 있는 똑같은 변수명을 사용하여 값을 변경하고
if문 안에서 콘솔 로그를 찍고 , if문 밖에서 콘솔 로그를 찍으면 if문 밖에서는 값이 자바스크립트 로 나오는 것을 확인 할 수 있는데,
if문 안에서 let 을 사용 하면 {} 안에서 한정 시킬 수 있다.
'javascript > es6' 카테고리의 다른 글
es6 - constructor (0) 2018.11.25 es6 - 2. 화살표 함수 => (0) 2018.08.24 댓글