-
ํ์ ๋ช ์ (Type Annotations)โจ๏ธ conceptualization/Typescript 2022. 9. 9. 20:27728x90
๐ ํ์ ๋ช ์(Type Annotations)๋?
๋ณ์๋ฅผ ์ ์ธํ ๋, ๋ณ์ ๊ฐ์ ํ์ ์ ๋ช ์ํจ์ผ๋ก์จ ๋ณ์ ๊ฐ์ ๋ฐ์ดํฐ ํ์ ์ ์ง์ !
๐ ๋ค์๊ณผ ๊ฐ์ Syntax(๋ฌธ๋ฒ)์ ๊ฐ์ง๋ค
let myname : string = "yelim"
์ผ๋ฐ์ ์ผ๋ก ๋ค์๊ณผ ๊ฐ์ด ํ์ ๋ช ์๊ฐ ๊ฐ๋ฅํ๋ค
let myname: string = "yelim"; let age: number = 28; let gender: string = "female"; let hobby: string = "playingguitar"; let married: boolean = false;
- ๋ง์ฝ ์ซ์ ํ์ ์ผ๋ก ๋ช ์๋ age๋ฅผ string ๊ฐ์ผ๋ก ๋ฐ๊พธ๋ฉด ๋ค์๊ณผ ๊ฐ์ ์๋ฌ ๋ฉ์ธ์ง๊ฐ ๋ฐ์๋๋ค.
๊ทธ๋ผ ํจ์์ ํ์ ๋ช ์๋ ์ด๋ป๊ฒ ํด์ผํ ๊น ?
๐ ๋ค์๊ณผ ๊ฐ์ด ํจ์์ ํ๋ผ๋ฏธํฐ์๋ ํ์ ์ง์ ์ด ๊ฐ๋ฅํ๋ค.
function aboutyelim(age: number) {}
๐ ๋ํ ํจ์์ return ๊ฐ์๋ ํ์ ์ ๋ช ์ํ ์ ์๋ค.
โ๏ธ ๋ง์ฝ ์๋ฌด ๊ฐ๋ ๋ฐํํ์ง ์๋๋ค๋ฉด ? void๋ก ๋ช ์
โ๏ธany
ํ์ ์ผ๋ก๋ ์ ๋งํ๋ฉด ๋ช ์ํ์ง x (typescript์ ์ฌ์ฉํ๋ ์๋ฏธ๊ฐ ์๋ค..)function aboutyelim(age: number): void {}
๐ return ๊ฐ์ object๋ก ์ค์ ํ๋ค๋ฉด ?
function aboutyelim(age: number): object { return { myname, age, gender, hobby, married }; } // ๊ฐ์ฒด์ง์ ํ null๋ก return ํ๋ค. ํ๋ฆฐ๋ฌธ๋ฒ์ ์๋์ง๋ง ๊ตฌ์ฒด์ ์ธ ํ์ ๋ช ์๊ฐ ์๋๋ฏ๋ก ์ด๊ฒ๋ ์ฌ์ค ์ข์ ํ ์คํธ ์ผ์ด์ค๊ฐ ์๋๋ค.
๐ return ๋๋ ๊ฐ์ฒด์ ๊ตฌ์กฐ๋ฅผ ํ์ ์ผ๋ก ์ง์ ํ๋ค๋ฉด ?
function aboutyelim(age: number): { myname: string; age: number; gender: string; hobby: string; married: boolean; } { return { myname, age, gender, hobby, married } }
- ์ด๋ฐ์์ผ๋ก๋ ํจ์์ ํ์ ์ ๋ช ์ํ ์ ์์ง๋ง ์ข์ ์ ๋ก๊ฐ ์๋๋ค.(interface๋ฅผ ์ฌ์ฉํ์ฌ ์ข๋ ๊ฐ๋ ์ฑ ์๋ ์ฝ๋๋ฅผ ์์ฑํด๋ณด์! )
์ฐธ๊ณ ์์) ๋ ์ฝฉ์ฝ๋ฉ : https://www.youtube.com/watch?v=rwqqhvR353A&t=111s
'โจ๏ธ conceptualization > Typescript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ด๊ฑฐํ(Enum) ๊ณผ ๋ฆฌํฐ๋ด ํ์ (0) 2022.09.11 ํ์ ์ผ๋ก ์ฌ์ฉ๋๋ ์ธํฐํ์ด์ค (Interface) (0) 2022.09.09 ํ์ ์ถ๋ก (Type Inference) (2) 2022.09.09 Resct + TypeScript ์ค์ ํ๊ธฐ (0) 2022.07.08 TypeScript ๊ฐ๋ฐํ๊ฒฝ ์ค์ ํ๊ธฐ (0) 2022.06.22