๐คณTypeScript Interface
- ์ธํฐํ์ด์ค๋ ์ํธ ๊ฐ์ ์ ์ํ ์ฝ์ ํน์ ๊ท์น์ ๋งํ๋ค.
- ์ผ๋ฐ์ ์ผ๋ก ํ์ ์ฒดํฌ๋ฅผ ์ํด ์ฌ์ฉ๋๋ฉฐ ๋ณ์, ํจ์, ํด๋์ค์ ์ฌ์ฉํ ์ ์๋ค.
- ์ง์ ์ธ์คํด์ค๋ฅผ ์์ฑํ ์ ์๊ณ ๋ชจ๋ ๋ฉ์๋๊ฐ ์ถ์ ๋ฉ์๋์ด๋ค.
- TS์์๋ง interface๋ฅผ ์ง์ํ๋ค.
๐ฑ๐ Interface ์ฌ์ฉ ์ด์
- ํ์ ์ ์ด๋ฆ์ ์ง๊ณ ์ฝ๋ ์์ ๊ณ์ฝ์ ์ ์
- ํ๋ก์ ํธ ์ธ๋ถ์์ ์ฌ์ฉํ๋ ์ฝ๋์ ๊ณ์ฝ์ ์ ์ํ๋ ๊ฐ๋ ฅํ ๋ฐฉ๋ฒ์ด๋ค.
- ๊ฐ์ฒด์ ์คํ
- ํจ์์ ํ๋ผ๋ฏธํฐ
- ํจ์์ ์คํ(ํ๋ผ๋ฏธํฐ, ๋ฐํ ํ์ ๋ฑ)
- ๋ฐฐ์ด๊ณผ ๊ฐ์ฒด์ ์ ๊ทผํ๋ ๋ฐฉ์
- ํด๋์ค
๐คทโ๏ธ๊ธฐ๋ณธ ์์
๐ฑ๐ Properties
- ์ปดํ์ผ๋ฌ๋ ํ๋กํผํฐ์ ๋ ๊ฐ์ง ์์๋ฅผ ๊ฒ์ฌํ๋ค.
- ํ์์์ ํ๋กํผํฐ์ ์ ๋ฌด
- ํ๋กํผํฐ ํ์
- ์์ฝ์ด๋ก ํ๋กํผํฐ๋ฅผ ์ธ๋ฐํ๊ฒ ์ปจํธ๋กคํ ์ ์๋ค.
- ? : Optional Properties
- readOnly
๐คฆโ๏ธ Optional Properties
- ํ๋กํผํฐ ์ ์ธ ์ ์ด๋ฆ ๋์ด ? ๋ฅผ ๋ถ์ฌ์ ์ฌ์ฉ
- ์ธํฐํ์ด์ค์ ์ํ์ง ์๋ ํ๋กํฐํผ์ ์ฌ์ฉ์ ๋ฐฉ์งํ๋ฉด์, ์ฌ์ฉ ๊ฐ๋ฅํ ํ๋กํผํฐ๋ฅผ ๊ธฐ์ ํ ๋ ์ฌ์ฉํ๋ค.
๐คฆโ๏ธ readOnly
- ๊ฐ์ฒด๊ฐ ์ฒ์ ์์ฑ๋ ๋๋ง ๊ฐ ์ค์ ์ด ๊ฐ๋ฅํ๊ณ ์ดํ ์์ ์ด ๋ถ๊ฐ๋ฅํ๋ค.
- ํ๋กํผํฐ ์ด๋ฆ ์์ readOnly๋ฅผ ๋ถ์ฌ ์ฌ์ฉํ๋ค.
๐ฑ๐ Interface ํ์ฅ
- ์ธํฐํ์ด์ค์ ์ธํฐํ์ด์ค ๊ฐ์ ํ์ฅ์ด ๊ฐ๋ฅํ๋ค.
- extends ํค์๋๋ฅผ ์ฌ์ฉํ์ฌ ์ธํฐํ์ด์ค ๋๋ ํด๋์ค๋ฅผ ์์ ๋ฐ์ ์ ์๋ค.
๐ ์ฐธ๊ณ
'Node.js & TypeScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Typescript] ์ ์ฉ Node.js ์ฌ์ฉํ๊ธฐ (12) | 2022.11.08 |
---|---|
Node.js Express ์ ์ (static) Public ํด๋ ์ฌ์ฉํ๊ธฐ (3) | 2022.10.30 |
์ ๋ฌด ์๋ํ node-schedule (2) | 2022.06.21 |
Bcrypt๋ฅผ ํ์ฉํด์ ๋น๋ฐ๋ฒํธ๋ฅผ ์ํธํ ํ๊ธฐ (2) | 2022.03.15 |
Npm ๋ฒ์ ์ค์น ๋ฐ ๋ฒ์ ๋ค์ด๊ทธ๋ ์ด๋ ํ๊ธฐ (2) | 2022.03.02 |