ES6
리엑트 네이티브에서는 타입스크립트 언어가 기본적으로 사용됩니다. 타입스크립트는 자바스크립트의 슈퍼셋으로 타입을 지원해주지만 유용한 ES6 문법들이 내장되어 있습니다. 개발을 할 때 필요한 ES6 문법들을 알아보며 타입스크립트의 기본 문법을 익혀봅니다. 아래 예시들은 TypeScript Playground에서 실행할 수 있습니다.
1. let과 const
let x = 10;
const y = 20;
console.log(x, y); // 10, 20
타입스크립트에서 변수에 타입을 지정할 수 있습니다.
let은 재할당이 가능한 변수, const는 재할당이 불가능한 상수를 선언할 때 사용됩니다.
let과 const는 기존의 var 키워드와 비교했을 때 다음과 같은 중요한 차이점을 가집니다:
블록 스코프(Block Scope)
var는 함수 스코프(function scope)를 가지므로, 함수 내부 어디서든 접근 가능합니다. 반면,let과const는 블록 스코프를 가지며, 이는 선언된 블록(예: if 문, for 루프 등) 내에서만 접근할 수 있다는 의미입니다.
호이스팅(Hoisting)
var로 선언된 변수는 호이스팅되어 함수의 최상단으로 끌어올려집니다. 하지만let과const는 호이스팅되지만, 선언 전에 접근하려고 하면 참조 오류(ReferenceError)가 발생합니다.
재할당
var과let으로 선언된 변수는 재할당이 가능합니다. 그러나const로 선언된 변수는 한 번 할당하면 그 값을 변경할 수 없습니다.
재선언
var를 사용하면 같은 스코프 내에서 변수를 재선언할 수 있지만,let과const는 같은 스코프 내에서 변수의 재선언을 허용하지 않습니다.
이러한 차이점들로 인해 let과 const는 보다 안전하고 예측 가능한 코드 작성을 가능하게 하며, 특히 var의 호이스팅으로 인한 혼란스러운 상황들을 방지합니다.