변수란 변경될 수 있는 값. Mutable 데이터 타입
자바스크립트에서 변수에 대한 값을 만들 때는 let을 사용.
ES6에서 추가되었음.
어플리케이션을 실행하게되면 어플리케이션마다 쓸 수 있는 메모리가 할당되어지게 된다. 이 메모리들은 비어진 박스. 어플리케이션마다 쓸 수 있는 박스가 제한적. let을 사용하여 name을 정의하면 하나의 박스를 사용하여 값을 저장. 추후에 이 값을 변경하면 다른 값을 저장하게 되는것.
Block Scope
블록 스코프를 사용하게 되면 블록 안에서만 변수를 사용 가능.
글로벌 스코프를 사용하게 되면 어느 전역에서나 사용 가능
글로벌 스코프는 어플리케이션이 실행되는 순간부터 끝날때까지 메모리에 탑재되어있기때문에 최소화해서 사용하는 것이 좋고, 가능하면 클래스나 함수 if나 for로 필요에 의해서 정의하는 것이 좋다.
let 이전에는 var 사용
var를 이제 쓰면 안되는 이유는?
1) 선언도 하기 전에 값을 할당할 수 있다. 이를 출력하는 것도 가능!
-> var hoisting
hoisting이란
어디에 선언했느냐에 상관 없이 항상 제일 위로 선언을 끌어올려주는 것을 말한다. 영어로 '끌어올려주다'의 뜻
2) 블럭 스코프를 무시.
블럭 안에서 선언한 변수는 블럭 밖에서 출력할 수 없지만 var를 사용하면 출력 가능하다. 초창기에는 이런 유연성을 사용해서 재빠르게 프로그램을 짜서 동작 가능하게 만들었지만, 어느정도 규모있는 프로젝트를 진행하면서는 선언하지도 않은 값들이 할당되어지는 오류가 발생한다.
상수란 한 번 할당하면 절대 바뀌지 않는 값. Immutable 테이터타입.
상수를 사용하면 좋은 점?
primitive 타입
6.Symbol
고유한 식별자가 필요할 때 쓰임.
이 때 스트링을 쓰게되면 다른 모듈이나 파일에서 동일한 스트링을 썼을 때 동일한 식별자로
간주되지만 심볼로 동일한 스트링을 작성했어도 다른 심볼로 작성되기 때문에 고유한 식별자를
만들 때 쓰임.
Object 타입
조금씩 알아가는 자바스크립트와 나의 사이 ..❤︎
물론 외사랑이지만.. 알아가게 되어 기쁘다...ㅎㅎ