InflearnTS Chapter 1~3 - YDP-SPLOUNGE-CLUB/typescript-study GitHub Wiki

κΈ°λ³Έ 문법

μžλ°”μŠ€ν¬λ¦½νŠΈμ—μ„œ μ œκ³΅ν•˜λŠ” 데이터 νƒ€μž…μ„ μ§€μ›ν•œλ‹€.

const a: number = 5;
const b: string = '5';
const c: boolean = true;
const d: undefined = undefined;
const e: null = null;

ν•¨μˆ˜, λ°˜ν™˜κ°’, λ˜ν•œ νƒ€μž…μ„ μ„€μ • κ°€λŠ₯ν•˜λ‹€.

function add(x: number, y: number): number { return x + y }

const add2: (x: number, y: number) => number = (x, y) => x + y;

νƒ€μž…μ— λŒ€ν•œ 별칭을 μ •ν•  수 μžˆλ‹€.

type Add = (x: number, y: number) => number;

const add: Add = (x, y) => x + y;

interface νƒ€μž… μ •μ˜ 방식 λ˜ν•œ 쑴재

interface Add {
   (x: number, y: number): number;
}

const add: Add = (x, y) => x + y;

λ¦¬μŠ€νŠΈν˜• νƒ€μž… μ •μ˜

// 일반 리슀트 νƒ€μž… μ •μ˜
const arr: string[] = ['123', '234'];

// μ œλ„€λ¦­ν˜• 리슀트 νƒ€μž… μ •μ˜
const arr2: Array<number> = [123, 345];

// νŠœν”Œν˜• 리슀트 νƒ€μž… μ •μ˜
// μˆœμ„œμ™€ νŠœν”Œμ˜ 리슀트 lengthλ₯Ό μ—„κ²©ν•˜κ²Œ μ •μ˜
const arr3: [number, number, string] = [123, 345, 'hello'];

μ •ν™•ν•œ μ›μ‹œκ°’ νƒ€μž…μ„ μ •μ˜ κ°€λŠ₯

const t: true = true;

νƒ€μž… μΆ”λ‘ 

tsc --noEmit μ—μ„œλŠ” νƒ€μž…μ„ μΆ”λ‘ ν•΄μ£ΌλŠ” κΈ°λŠ₯도 μ œκ³΅ν•œλ‹€.

const a = '5';

νƒ€μž… 좔둠을 ν†΅ν•΄μ„œ λΆˆν•„μš”ν•œ νƒ€μž… μ •μ˜λ₯Ό ν”Όν•  수 μžˆλ‹€.

example

κ°•μ˜λ₯Ό ν•œ μ‚¬λžŒμ€ νƒ€μž…μ˜ 좔둠을 μ •ν™•ν•˜κ²Œ μ •μ˜κ°€ 된 μƒνƒœμ—μ„œλŠ” λ”°λ‘œ Type 을 κ±΄λ“œλŠ” 것을 μΆ”μ²œν•˜μ§€ μ•Šμ•˜λ‹€.

const a:string = '5';

νƒ€μž… 좔둠은 ꡉμž₯히 λΆˆμ•ˆμ •ν•˜λ‹€. μ˜ˆμ‹œλ‘œ

const arr3 = [123, 345, 'hello'];

// ν•΄λ‹Ή νƒ€μž…μ€ const arr3: (number | string)[] 둜 λ‚˜μ˜€λŠ”λ° νŠœν”Œλ‘œ μ •ν•˜μ˜€μ„ λ–„μ˜ νƒ€μž… μΆ”λ‘ κ³Ό λ§žμ§€ μ•ŠλŠ”λ‹€.
// 이럴 κ²½μš°μ—λŠ” 기쑴에 μ‚¬μš©ν•œ νŠœν”Œλ‘œ νƒ€μž…μ„ μ •μ˜ν•˜λ©΄ μ’‹λ‹€. 

// μš”μ•½. νƒ€μž…μΆ”λ‘ μ„ μ‹€νŒ¨ν–ˆμ„λ•Œ 직접 νƒ€μž…μ„ μ •ν•΄μ£ΌλŠ”κ²ƒμ΄ κ°€μž₯ μ•ˆμ „ν•  수 μžˆλ‹€.
⚠️ **GitHub.com Fallback** ⚠️