๐Ÿ“˜ TypeScript/๊ฐœ๋…

ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ ํƒ€์ž… ์œ ์ถ”(Type Inference)

Zoeeey 2023. 12. 7. 13:09

TypeScript๋Š” ์ •์  ํƒ€์ž… ์–ธ์–ด๋กœ, ๋ณ€์ˆ˜, ๋งค๊ฐœ๋ณ€์ˆ˜, ๋ฐ˜ํ™˜๊ฐ’ ๋“ฑ์˜ ํƒ€์ž…์„ ๋ช…์‹œ์ ์œผ๋กœ ์„ ์–ธํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ TypeScript๋Š” ํƒ€์ž… ์œ ์ถ”(Type Inference)๋ผ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜์—ฌ, ํƒ€์ž…์„ ๋ช…์‹œ์ ์œผ๋กœ ์„ ์–ธํ•˜์ง€ ์•Š์•„๋„ ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์ฝ”๋“œ๋ฅผ ๋ถ„์„ํ•˜์—ฌ ํƒ€์ž…์„ ์œ ์ถ”ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค.


๋ณ€์ˆ˜ ์„ ์–ธ

let myNumber = 10; // ์ž๋™์œผ๋กœ number ํƒ€์ž…์œผ๋กœ ์œ ์ถ”
let myString = "Hello"; // ์ž๋™์œผ๋กœ string ํƒ€์ž…์œผ๋กœ ์œ ์ถ”

๋งค๊ฐœ๋ณ€์ˆ˜์™€ ๋ฐ˜ํ™˜๊ฐ’

function add(x, y) {
    return x + y; // x์™€ y๋ฅผ ์ž๋™์œผ๋กœ any ํƒ€์ž…์œผ๋กœ ์œ ์ถ”
}

let result = add(5, 10); // result๋ฅผ number ํƒ€์ž…์œผ๋กœ ์œ ์ถ”

๋ฐฐ์—ด๊ณผ ๊ฐ์ฒด

let numbers = [1, 2, 3]; // number[] ํƒ€์ž…์œผ๋กœ ์œ ์ถ”
let person = { name: "John", age: 30 }; // { name: string, age: number } ํƒ€์ž…์œผ๋กœ ์œ ์ถ”

ํ•จ์ˆ˜ ๋ฆฌํ„ด

function multiply(a: number, b: number) {
    return a * b; // ๋ฆฌํ„ด๊ฐ’์„ ์ž๋™์œผ๋กœ number ํƒ€์ž…์œผ๋กœ ์œ ์ถ”
}

์ถœ์ฒ˜ : TypeScript Documentation https://www.typescriptlang.org/docs/handbook/2/objects.html