[Typescript] 원시타입, 리터럴타입

정혜인·2023년 8월 2일

typescript

목록 보기
5/15

type annotaion (타입 주석) : 변수의 type을 지정하는 방식
콜론과 함께 number, string 등을 입력하여 변수의 타입을 지정

🙋🏻‍♂️ number 타입

let num1: number = 123;
let num2: number = -123;
let num3: number = 0.123;
let num4: number = -0.123;
let num5: number = Infinity;
let num6: number = -Infinity;
let num7: number = NaN;

: number 로 타입 정의

위 사진처럼 number 타입으로 선언한 변수에는 number 타입만 넣을 수 있다.
number 외의 타입 (ex. string)을 넣을 수 없고,
number 외의 타입의 함수를 사용할 수 없다. (ex. toUpperCase)

toUpperCase()? 첫 글자를 대문자로 바꿔주는 함수
toFixed(p)? p만큼 소수점 이하의 자리수를 정확하게 갖는 문자열로 반환해주는 함수


🙋🏻‍♂️ string 타입

let str1: string = "hello"; // 큰 따옴표
let str2: string = 'hi'; // 작은 따옴표
let str3: string = `hello`; // 백틱
let str4: string = `hello ${num1}`; 

: string 로 타입 정의

위 사진처럼 string 타입으로 선언한 변수에는 string 타입만 넣을 수 있다.
string 외의 타입 (ex. number)을 넣을 수 없고,
string 외의 타입의 함수를 사용할 수 없다. (ex. toFixed)


🙋🏻‍♂️ boolean 타입

let bool1: boolean = true;
let bool2: boolean = false;

: boolean 로 타입 정의


🙋🏻‍♂️ null 타입

let null1: null = null;

: null 로 타입 정의


🙋🏻‍♂️ undefined 타입

let unde1: undefined = undefined;

: undefined 로 타입 정의


🔥 null 값을 null 타입이 아닌 변수에 넣기

아래 코드는 javascript에서는 가능하지만, typescript에서는 불가능하다.

let numA: number = null;

보통 null 타입이 아닌 변수에 임시로 null 값을 넣고 싶을 때 이렇게 사용하는데,
typescript에서도 사용하고 싶다면

tsconfig.json 파일의 "compilerOptions"에서

"strictNullChecks": false

코드를 추가해주면 null을 엄격하게 검사하지 않기 때문에
null 값을 null 타입이 아닌 변수에 넣을 수 있다.


🙋🏻‍♂️ literal 타입

: 값 그 자체가 타입이 되는 타입
(값 그 자체로 변수의 타입을 정의)

let numA: 10 = 10;
let strA: "hello" = "hello";

: 값 자체 로 타입 정의

numA는 10을 type으로 정의했기 때문에 10 외의 값이 들어오면 오류가 나고,
strA는 "hello"를 type으로 정의했기 때문에 "hello" 외의 값이 들어오면 오류가 난다.
boolean도 마찬가지로 작동한다.

0개의 댓글