1. 특징
- 자바스크립트에 타입을 부여한 언어
- 컴파일 언어
- 객체 지향 프로그래밍 지원
2. 타입
let num: number // number
let str: string // string
let b: boolean // boolean
// 문자만
let s: string[] = ['apple', 'banana']
let s: Array<string> = ['apple', 'banana']
// 숫자만
let n: number[] = [1, 2, 3]
let n: Array<number> = [1, 2, 3]
// 문자, 숫자 둘 다
let arr: (string | number)[] = ['apple', 1, 2, 'banana']
let arr: Array<string | number> = ['apple', 1, 2, 'banana']
// 배열을 가짐
let arr: unknown[] = [1, {}, [], 'str', false]
interface User {
name: string,
age: number,
b: boolean
}
let user: User[] = [
{
name: 'Kim'
age: 5
b: true
},
{
name: 'Lee'
age: 6
b: false
},
{
name: 'Park'
age: 7
b: true
}
]
// Variables
let id: number = 1234
let name: string = 'Kim'
let valid: boolean = true
// Tuple
let user: [number, string, boolean] = [1234, 'Kim', true]
console.log(user[0]) // 1234
console.log(user[1]) // 'Kim'
console.log(user[2]) // true
enum Week {
Sun = 0,
Mon = 1,
Tue = 2,
Wed = 3,
Thu = 4,
Fri = 5,
Sat = 6
}
console.log(Week.Mon); // 1