๐ง ํ์ ์ง์
๋ณ์ ๋ง๋ค ๋ ํ์ ์ ์ง์ ํด ์ค ์ ์์
let name :string = 'Mino'
๋ณ์๋ช :ํ์ ๋ช ์ ํ์์ผ๋ก ์ฌ์ฉ
ํ์ ์ผ๋ก ์ฌ์ฉ ๊ฐ๋ฅํ ๊ฒ๋ค
string, number, boolean, bigint, null, undefined, [], {}
ํ์ ์ ์ง์ ํ๋ ์ด์ ?
JS์์๋ ์๋ฌ ๋ฉ์ธ์ง๋ฅผ ๋ชจํธํ๊ฒ ์๋ ค์ฃผ์ง๋ง,
ํ์ ์ ์ง์ ํด์ ์ฌ์ฉํ๋ฉด ์ด๋์ ์๋ฌ๊ฐ ๋๋์ง ์๊ธฐ ํธํจ
= ํ์ ๊ด๋ จ ๋ฒ๊ทธ๊ฐ ์๊ฒจ๋ ๋น ๋ฅด๊ฒ ๋๋ฒ๊น ๊ฐ๋ฅ
let name :string = 'Mino'
name = 123 // ์ฌ๊ธฐ์ ์๋ฌ๊ฐ ์๊น
๋ง์ฝ์ ์ฌ๋ฌ๊ฐ์ง ํ์ ์ด ๊ฐ๋ฅํ๋ค๋ฉด?
ํด๋น ๋ณ์์ ์ฌ๋ฌ๊ฐ์ง ํ์ ์ ๋ฐ์ดํฐ๊ฐ ๋ค์ด ์ฌ ์ ์๋ค๋ฉด | ๊ธฐํธ๋ฅผ ์ฌ์ฉํจ
let name :string | number = 'Mino'
name = 123 // ์ด๋ฒ์ ์๋ฌ๊ฐ ์๊ธฐ์ง ์์
ํ์ ๋ ๋ณ์๋ก ๊ฐ๋ฅํจ
type์ด๋ผ๋ ํค์๋๋ฅผ ์ด์ฉํด์ ํ์ ์ ๋ณ์๋ก ์ฌ์ฉ ๊ฐ๋ฅ!
type nameType = string | number
let name :nameType = 'Yong'
๊ทผ๋ฐ ์ฌ๊ธฐ์ string, number๋ง๊ณ ๋ ๋ด๊ฐ ์ปค์คํ ๋ ๊ฐ๋ฅํจ
type nameType = 'Yong' | 'Bok'
let name :nameType = 'Yong' // ์ฌ๊ธด 'Yong'๊ณผ 'Bok'๋ฐ์ ๋ชป๋ค์ด๊ฐ
์ด๋ฐ์์ผ๋ก ์ฐ๋ ๊ฑธ literal type์ด๋ผ๊ณ ํจ(๋ฌธ์ ์ฐธ๊ณ )
๐จ ํจ์
TypeScript๋ ํจ์์ parameter๊ณผ return๊ฐ๋ ํ์ ์ ์ง์ ํด์ค ์ ์์
function ํจ์๋ช
(x :number) :number{
return x * 2
}
๋ง์ฝ ๋ค๋ฅธ ํ์ ์ด ํ๋ผ๋ฏธํฐ๋ return๋๋ฉด ์๋ฌ๊ฐ ๋จ
void ํ์
๐ก void๋ ๊ฒฐ๊ณผ ๊ฐ์ ๋ฐํํ์ง ์๋ ํจ์์ ์ค์ ํฉ๋๋ค.
๋ฐ๋ฉด ๊ฒฐ๊ณผ ๊ฐ์ ๋ฐํํ๋ ํจ์์ ๊ฒฝ์ฐ ๋ช ์์ ์ผ๋ก ๋ฐํ ๊ฐ์ ํ์ ์ ๊ธฐ์ ํ ์ ์์ต๋๋ค.
๋ผ๊ณ ๊ฐ์ด๋๋ถ์ด ๊ทธ๋ฝ๋๋ค
๊ทธ๋๊น ๊ฒฐ๊ณผ ๊ฐ์ด ์๋ค๋ฉด, void ์จ์ฃผ๋ฉด ๋๋ ๋ฏ
ํจ์์์๋ ํ์ ์ ํ์คํ ํ์
//์๋ฌ
function ํจ์๋ช
(x :number | string) {
return x * 2
}
//๊ฐ๋ฅ
function ํจ์๋ช
(x :number | string) {
if (typeof x === 'number'){
return x * 2
}
}
TypeScript์์๋ ์ง๊ธ์ ๋ณ์ ํ์ ์ด ํ์คํ์ง ์๋ค๋ฉด ์ฐ์ฐ์ด ์๋จ
ํญ์ ์ง๊ธ ํ์ ์ ์ฒดํฌํด์ฃผ์
๐ array์ object
array์ object์์๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ค์๊ณผ ๊ฐ์ด ํ์ ์ ์ง์ ํด ์ค
let name :string[] = ['Yong', 'Bok']
let age :{ age : number } = { age : number }
array์์ ์๋ฃ๋ง๋ค ํ์ ์ด ๋ค๋ฅด๋ฉด
type Member = [number, boolean]
let john :Member = [100, false]
object๋ ํ์ ์ด ๋๋ฌด ๊ธธ์ด์ง๋ค๋ฉด โ ๋นผ์ฃผ์
type MyObject = {
name? : string,
age : number
}
let Bok :MyObject = {
name : 'kim',
age : 50
}
- ์ฌ๊ธฐ์ ๋ฌผ์ํ๋ ๋ญ์?
- ์ด๋ค ์์ฑ์ด ์ ํ ์ฌํญ์ด๋ฉด ?๋ฅผ ์ด์ฉํด์ ๋ํ๋
๋ง์ฝ, object์ ์ด๋ค ์์ฑ์ด ๋ค์ด๊ฐ์ง ๋ชจ๋ฅด๊ฒ ๋ค๋ฉด ํ๋ฒ์ ์ง์ ๊ฐ๋ฅ
โ index signature
type MyObject = {
[key :string] : number,
}
let ์ฒ ์ :MyObject = {
age : 50,
weight : 100,
}
Class๋ ๊ฐ๋ฅ
class Person {
name;
constructor(name :string){
this.name = name;
}
}
์ค๊ดํธ ๋ด์ ๋ฏธ๋ฆฌ name ์ด๋ ๊ฒ ๋ณ์๋ฅผ ๋ง๋ค์ด๋์ผ constructor ์์์ this.name ์ด๋ ๊ฒ ์ฌ์ฉ ๊ฐ๋ฅ
'FrontEnd > TypeScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[TypeScript] ํ์ ์ ํ ๊ณณ์ ๋ชจ์๋ณด์~~ (0) | 2024.03.22 |
---|---|
[TypeScript] TypeScript์ ํจ๊ป ๋น๋๊ธฐ ์ฒ๋ฆฌ๋ฅผ ํด๋ณด์ (0) | 2024.03.22 |