변수 Variable
선언자
- 변수 앞에 위치하는 키워드
- 선언자에 따라서 변수의 scope level이 달라진다.
- 함수 level : 해당 변수는 함수 안에 개별 선언으로 인식된다.
- 블록 level : 해당 변수는 블록안에 개별 선언으로 인식된다.
- 전역 level : 해당 변수는 프로그램 모든 범위에서 개별 선언으로 인식된다.
- 우선 순위 : 블록 > 함수 > 전역
선언자 종류 | scope 가능 범위 | 특징 |
---|---|---|
var | 함수, 전역 | 호이스팅이 가능하다. ( 변수를 나중에 선언해도 해당 선언을 코드 최상단으로 올리는 것) |
let | 함수, 블록, 전역 | 1. 같은 블록 내에서 같은 이름의 변수 중복 x 2. 변수를 초기화 하기 전에는 변수에 접근 할 수 없게 해서 호이스팅을 방지 3. 선언할 변수에 블록 레벨 스코프를 적용 |
const | 함수, 블록, 전역 | 1. 선언과 변수 초기화를 동시에 해야 한다. 2. 변수 초기화 후에는 값을 변경 할 수 없다. |
type - 기본 타입
- 타입스크립트에서는 타입을 지정하지 않으면 변수에 할당되는 값에 따라 타입이 정해 집니다.
- 유동성있게 타입을 명시하면 컴파일시 타입 검사를 하고 타입이 없으면 실행 시간에 타입을 정합니다.
var string = "string"
var number = 1
console.log(typeof string) // string type 으로 출력된다.
console.log(typeof number) // number type 으로 출력된다.
- 타입 종류
- String
- number
- boolean
- symbol : Symbol() 함수를 사용해서 고유하고 수정 불가능한 타입을 만들어 냅니다.
- enum : number type에서 확장된 type으로 Enum의 첫번째 요소는 0부터 시작하며,
enum type에서 정의된 요소만 할당 가능합니다.
- 문자열 리터럴 : String type의 확장형으로 사용자 정의 타입에 정의한 문자열만 할당 가능합니다
참고
https://doitnow-man.tistory.com/entry/typescript-4-typescript-기본-타입과-변수-선언
반응형