TypeScript
ํ์ ์ง์ ํ๊ธฐ
์ด๋ ๊ฒ ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ฉด ์ถ๋ก ์ ์ผ๋ก ํ์ ์ด ์ง์ ๋๋ค.
// name์ string, age๋ number const User = { name: "Jun"; age: 26; }
๋ช ์์ ์ผ๋ก ๋ํ๋ด๊ธฐ ์ํด์ ํ์ ์ ์ธ์ ํด์ค ์ ์๋ค.
const User: {name: string, age: number} = { name: "Jun"; age: 26; }
'type'์ ์ฌ์ฉํ๊ฑฐ๋ 'interface'๋ฅผ ์ฌ์ฉํด์ ํ์ ์ ์ง์ ํ๋ฉด, ์ฌ์ฌ์ฉํ ์ ์๋ค.
type User = { name: string; age: number; } interface User { name: string; age: number; }
'type'๊ณผ 'interface'์ ์ฐจ์ด์ ์ ๊ณต๋ถ๋ฅผ ๋ ํด๋ด์ผ ์ ๊ฒ ๊ฐ๋ค. ํ์ฌ๋ 'interface'๋ 'type'๋ณด๋ค ํ์ฅํ๊ณ ์์ ํ๊ธฐ๊ฐ ์ฝ๋ค๋ ์ ๋ง ์๊ณ ์๋ค.
๋ฐฐ์ด์ ํ์ ์ ์ง์ ํ๋ ค๋ฉด ๋๊ดํธ๋ฅผ ๋ถ์ฌ์ฃผ๊ฑฐ๋, Tuple์ ์ฌ์ฉํ๋ค.
const name : string[] name = ["Jun", "junghan", "mingyu"] const name : [string, number] name = ["Jun", 26]
Union Type์ ์ฌ๋ฌ ํ์ ์ค ํ๋์ผ ์ ์๋ค๋ ๊ฒ์ ์๋ฏธํ๋ค.
// string ์ด๊ฑฐ๋ number ์ด๊ฑฐ๋ const name : string | number name = "Jun" name = 26
๋งค๊ฐ๋ณ์๋ props๋ก ๋๊ฒจ์ค ๋ ๊ฐ์ด ์์ ์๋ ์๋ค๋ฉด '?' ์ต์ ๋์ฒด์ด๋์ ์ฌ์ฉํ๊ฑฐ๋, ๊ธฐ๋ณธ๊ฐ์ ์ค์ ํด์ค๋ค.
function printUser(name, age = 26) { console.log(name, age) } // age๊ฐ ๋งค๊ฐ๋ณ์๊ฐ์ด ์์ ๊ฒฝ์ฐ 26์ด ๊ธฐ๋ณธ๊ฐ์ผ๋ก ๋ค์ด๊ฐ๋ค.
Type๊ณผ Type์ ํฉ์ณ์ ํ์ฅํด์ค ์ ์๋ค.
type User = { name: string, age: number, }; type Info = { email: string, address: string, }; type UserAndInfo = User & Info;
Last updated