* ๊ฐ์ธ์ ํ์ต ๋ด์ฉ ๊ธฐ๋ก ์ค, ๊ทนํ ์ผ๋ถ์ ๋ด์ฉ๋ง ์์ฑ๋์์ต๋๋ค.

typescript
ํํ ์์ ๋น์ ํ์๋ค์๊ฒ react ts๋ก ๊ฐ๋ฐ์ ์งํํ์๊ณ ํ์๋๋ฐ,
๋ง์นจ ๊ฐ์ฌ๋์ด ๊ฐ์๋ฅผ ์งํํด์ฃผ์ จ๋ค.
ts๋ฅผ ๊ฒฝํํด๋ณด์ง ์์ ํ์๋ค์ด ์์๊ธฐ์ ๋คํ์ด์์!!
//ํ์
๋จ์ธ(Assertion) : ํ๋ณํ๊ณผ ์ ์ฌ
type Person = {
name: string
age: number
}
//ํ์
์ขํ๊ธฐ
function func1(value: number | string) {
//value.toFixed() //์ค์ํ์ผ๋ก ๋ฐ๊พธ๊ธฐ
//value.toUpperCase() //๋๋ฌธ์๋ก ๋ฐ๊พธ๊ธฐ
if (typeof value === 'number') {
value.toFixed()
} else if (typeof value === 'string') {
value.toUpperCase()
}
}
//์ธํฐํ์ด์ค
//ํ์
๋ณ์นญ vs ์ธํฐํ์ด์ค
//๋ณ์,ํจ์๋ฑ์ ํ์
์ ์ ๊ฐ์ฒด์ ๊ตฌ์กฐ๋ฅผ ์ ์
//์ ๋์จ/๊ต์ฐจํ์
๊ฐ๋ฅ ๋ถ๊ฐ๋ฅ
//ํ์ฅ(extends ์์) ๋ถ๊ฐ ์์ ๊ฐ๋ฅ
interface Person {
readonly name: string
age?: number
sayHi(): void
}
const person: Person = {
name: 'ํ๊ธธ๋',
age: 30,
sayHi: function () {
console.log('Hi')
},
}
//์์(ํ์ฅ) extends : ๊ตฌ์กฐ์ ์ค๊ณ๊ฐ ๊ฐ๋ฅํ๋ค.
type Animal = {
name: string
color: string
}
interface Dog extends Animal {
isBark: boolean
}
interface Parent {
name: string
age: number
}
interface Cat extends Parent {
ifScratch: boolean
}
-
์ด๋๋ถํฐ ๋ณธ๊ฒฉ์ ์ผ๋ก ํํ ์์!
๋ด๊ฐ ํ์ฅ์ด์๋ค ใ .ใ
ํ์๋ค์ด๋ ์ธ์ฌํ๊ณ , ์ญํ ๋ฐฐ๋ถ ์งํํ๊ณ , ํ์ ์ฃผ์ ์ ํ๊ณ ์ธ๋ถ๋ด์ฉ ๋น๋ํ ๋ฏ

์ฐ๋ฆฌ ํ์ ์ฃผ์ ๊ฐ ์๋นํ ๋นจ๋ฆฌ ์ ํด์ง ํธ์ด์๋ค.
์ข์ ์์ด๋์ด๊ฐ ๋น ๋ฅด๊ฒ ๋์ค๊ธฐ๋ ํ๊ณ ,
๋ค๋ค ์ดํด์ฌ ๋์น๊ณ ์๊ธฐ์ฃผ์ฅ์ด ๊ฐํ์ง ์์ ํธ์ด์ด์..!
๋น์์ ๊ธฐํ + UI ์ค๊ณ๊ฐ ์์ฃผ ์ํํ๊ฒ ์งํ๋์๋ค ๐๐
๋๋ฌด ์ข์ ํ์ ๋ง๋์ ๋คํ์ด๋ค.
9์ฃผ์ฐจ - 11์ฃผ์ฐจ์๋ ํ ํ๋ก์ ํธ ๋๋ฌธ์ ์์ ๋ด์ฉ์ด ์์๋ค.
์ค๊ฐ ํ์ ์์๊ฒฐ๊ณผ๋ ์์ง ์ ๋์์ง๋ง ํ๊ณ ๋ก๋ ์์ฑํ๊ณ , (์ ์ฃผ์ธ์)
12์ฃผ์ฐจ๋ถํฐ ๋ฐฑ์๋ ๋ณธ๊ฒฉ์ ์ผ๋ก ๋ฐฐ์ฐ๋ฉด์ ๋ค์ ์ ๊ธฐ๋กํด๋ด์ผ์ง