:
)을 붙여 value:type
의 형태로 표기let color: string = "blue";
let num : number = 12345;
let isDone: boolean = false;
let list: number[] = [1, 2, 3];
let list: Array<number> = [1, 2, 3];
const user: { name: string, age: number } = { name: 'jenny', age: 20 }
const numbers: readonly number[] = [1, 2, 3, 4, 5]
numbers.push(1) // error
const array: number[] = [1, 2, 3, 4, 5]
array.push(1)
const player : [string, number, boolean] = ["jenny", 1, true]
player[0] = 1 // error
enum Direction {
Up = 1,
Down, //2
Left, // 3
Right, // 4
}
enum Direction {
Up, // 0
Down, // 1
Left, // 2
Right, // 3
}
let a: unknown;
let b = a + 1 // a타입을 모르기 때문에 작동 안됨
// a의 타입을 체크한 후에는 작동 됨
if (typeof a === 'number') {
let b = a + 1
}
if (typeof a === 'string') {
let b = a.toUpperCase()
}
let str: any = 'hi';
let num: any = 10;
let arr: any = ['a', 2, true];
// function hello() : void
// 타입스크립트가 자동으로 추론해주기 때문에 void를 써주지 않아도 됨
function hello() {
console.log('x')
}
// error
function hello(): never {
return 'X'
}
// success
// return하지 않고 오류를 발생시키는 함수
function bye(): never {
throw new Error('X')
}
function info(name: string | number) {
if (typeof name === 'string') {
// (parameter) name: string
name
} else if (typeof name === 'number') {
// (parameter) name: number
name
} else {
// (parameter) name: never
// ㄴ 이 코드는 절대 실행되지 않아야 한다는 것
name
}
}
let u: undefined = undefined;
let n: null = null;
참조
https://www.typescriptlang.org/docs/handbook/2/everyday-types.html
https://ahnheejong.gitbook.io/ts-for-jsdev/03-basic-grammar/primitive-types