Typescript - (1) 개요, 기본 타입
Typescript의 목표
- Javascript 프로그램의 정적 타입 검사자
- 즉, 코드가 실행되기 전에 실행하고, 프로그램 타입이 정확한지 확인하는 도구
- 자바스크립트로 컴파일 되어 동작한다
기본 타입
Boolean
참/거짓 (true/false)
let isDone: boolean = false;
숫자 (Number)
let decimal: number = 6;
let hex: number = 0xf00d;
let binary: number = 0b1010;
let octal: number = 0o744;
문자열 (String)
let color: string = "blue";
color = 'red';
// 템플릿 문자열을 사용해서 문자열에 표현식을 포함 시킬 수 있음
let fullName: string = `Bob Bobbington`;
let age: number = 37;
let sentence: string = `Hello, my name is ${ fullName }.
I'll be ${ age + 1 } years old next month.`;
배열 (Array)
// 1. 배열 요소들을 나타내는 타입 뒤에 []
let list: number[] = [1, 2, 3];
// 2. 제네릭 배열 타입 : Array<elementType>
let list: Array<number> = [1, 2, 3];
let list: Array<string> = [1, 2, 3]; // error
튜플(Tuple)
요소의 타입과 개수가 고정된 배열을 표현할 때 사용,
단 요소들의 타입이 모두 같을 필요는 없다
// 튜플 타입으로 선언
let x: [string, number];
// 초기화
x = ["hello", 10]; // 성공
// 잘못된 초기화
x = [10, "hello"]; // 오류
열거 (Enum)
enum Color {Red, Green, Blue}
let c: Color = Color.Green;
Any
타입 검사를 하지 않고, 컴파일 검사를 통과한다.
let notSure: any = 4;
notSure = "maybe a string instead";
notSure = false; // 성공, 분명히 부울입니다.
Void
보통 함수에서 반환 값이 없을 때 반환 타입을 표현하기 위해 사용
function warnUser(): void {
console.log("This is my warning message");
}
Null and Undefined
// 이 밖에 이 변수들에 할당할 수 있는 값이 없습니다!
let u: undefined = undefined;
let n: null = null;
Never
never 타입은 절대 발생하지 않는 타입을 나타낸다.
함수 표현식이나 화살표 함수 표현식에서 항상 오류를 발생시키거나 절대 반환하지 않는 반환 타입으로 쓰인다
// never를 반환하는 함수는 함수의 마지막에 도달할 수 없다.
function error(message: string): never {
throw new Error(message);
}
// 반환 타입이 never로 추론된다.
function fail() {
return error("Something failed");
}
객체 (Object)
object는 원시 타입이 아닌 타입을 나타낸다.
예를 들어, number, string, boolean, bigint, symbol, null, 또는 undefined 가 아닌 나머지를 의미.
타입 단언 (Type assertions)
- angle-bracket
let someValue: any = "this is a string";
let strLength: number = (<string>someValue).length;
- as-문법 (JSX와 함께 사용할 때는 as- 스타일의 단언만 허용)
let someValue: any = "this is a string";
let strLength: number = (someValue as string).length;
Reference
https://typescript-kr.github.io/pages/the-handbook.html
Author And Source
이 문제에 관하여(Typescript - (1) 개요, 기본 타입), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@yoons0717/Typescript-1-개요-기본-타입저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)