![[Typescript] ์ ๋์ธ๊ณผ ๋ฆฌํฐ๋ด(2)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmGmm8%2FbtsCCxAjBdK%2Fzof0RXRXKJkOcVp0b6NZ5k%2Fimg.png)
๐ฉ๋ฆฌํฐ๋ด ํ์
const philosopher = "Hypatia";
์์ ์ฝ๋๋ฅผ ๋ณด๋ฉด philosopher ์ด๋ผ๋ ๋ณ์์ "Hypatia"๋ผ๋ string์ ๋ด์๋ค.
์ฆ, philosopher์ stringํ์ ์ด๋ฉด์๋ ๊ตฌ์ฒด์ ์ผ๋ก๋ "Hypatia"๋ผ๋ ๊ตฌ์ฒด์ ์ธ ํน๋ณํ ๊ฐ์ ๊ฐ์ง๋ค.
์ด๊ฒ์ ์ฐ๋ฆฌ๋ ๋ฆฌํฐ๋ด ํ์ ์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค.
๋ฆฌํฐ๋ด ํ์ ์ด๋ผ๊ณ ๋ถ๋ฅผ ์ ์๋ ๊ฒ์ ์์ํ์ ๊ฐ ์ค ์ด๋ค ๊ฒ์ด ์๋ ํน์ ์์๊ฐ์ผ๋ก ์๋ ค์ง ํ์ ์ด๋ค.
๋ฆฌํฐ๋ด ํ์ ์ผ๋ก ์ ์ธํ ์ ์๋ ๋ฐฉ๋ฒ์ ๋ณ์๋ฅผ const๋ก ์ ์ธํ๊ณ ์ง์ ๋ฆฌํฐ๋ด ๊ฐ์ ํ ๋นํ๋ฉด Typescript๋ ํด๋น๋ณ์๋ฅผ ํ ๋น๋ ๋ฆฌํฐ๋ด ๊ฐ์ผ๋ก ์ ์ถํ๋ค.
let์ผ๋ก ์ ์ธํ ๊ฒฝ์ฐ๋ ์ผ๋ฐ์ ์ธ ์์ํ์ ์ ๊ฐ์ง๋ค. ์๋์ ๊ฐ์ ๊ฒฝ์ฐ์์ string์ด๋ค.
let lifespan : number | "ongoing" | "uncertain";
์ด๋ฐ์์ผ๋ก ์ ๋์ธ ํ์ ์๋ํ ์ด์ ์์ ๋ฆฌํฐ๋ด๊ณผ ์์ํ์ ์ ์์ด์ ์ฌ์ฉํ ์๋ ์๋ค.
๐ฉ์๊ฒฉํ null ๊ฒ์ฌ
const firstname : string = null;
์๊ฒฉํ null๊ฒ์ฌ๊ฐ ์๋ C++์ด๋ Java์ ๊ฐ์ ์ธ์ด์์๋ ์ด๋ ๊ฒ ๋ณ์์ null์ ํ ๋นํ๋ ๊ฒ์ด ํ์ฉ๋๋ค.
ํ์ง๋ง Typescript์์๋ ์๊ฒฉํ null๊ฒ์ฌ๋ฅผ ํตํด ์ ์ฌ์ ์ผ๋ก ์ ์๋์ง ์์ undefined๋ฅผ ์ก์๋ธ๋ค.
์ด๊ฒ์ Typescript ์ปดํ์ผ๋ฌ์์ ์ก์๋ด๋๋ฐ ์๊ฒฉํ null๊ฒ์ฌ๋ฅผ ํ๋ ์ปดํ์ผ๋ฌ ์ต์ ์ strictNullChecks ๋ก ์๊ฒฉํ null๊ฒ์ฌ๋ฅผ ํ ์ง ์ํ ์ง์ ๋ํ ์ฌ๋ถ๋ฅผ ๊ฒฐ์ ํ๋ค.
let nameMaybe = Math.random() > 0.5
? "Tony Hoare"
: undefined;
nameMaybe.toLowerCase();
์ด๋ฐ ์๋ฌ๋ฅผ ๋ถ๋ฌ์ค๋ฉฐ ์๊ฒฉํ null๊ฒ์ฌ๋ฅผ ํตํด ์ฝ๋๊ฐ null ๋๋ undefined๊ฐ์ผ๋ก ์ธํ ์ค๋ฅ๋ก๋ถํฐ ์์ ํ์ง ์ฌ๋ถ๋ฅผ ์ฝ๊ฒ ํ์ ํ ์ ์๋ค.
๐ฉํ์ ๋ณ์นญ
์ ๋์ธ์ ํ๋ค๋ณด๋ฉด ํ์ ์ ๋ง์ด ์ ๊ฒ๋์ด ๊ท์ฐฎ์์ด ๋ฐ์ํ ์ ์๋ค.
์ด ๋ ์ฌ์ฌ์ฉํ๋ ํ์ ์ ๋์ธ์ ๋ ์ฌ์ด ์ด๋ฆ์ผ๋ก ํ ๋นํ๋ ํ์ ๋ณ์นญ์ ์ฌ์ฉํ๋ค.
let dataFirst : boolean | number | string | null | undefined;
let dataSecond : boolean | number | string | null | undefined;
์ด๋ ๊ฒ ํ์ ์ ๋์ธ์ ์ผ์ผํ ๋ณต์ฌ+๋ถ์ฌ๋ฃ๊ธฐ๋ฅผ ํด์ฃผ๊ธฐ ๊ท์ฐฎ๊ธฐ ๋๋ฌธ์
type Data = boolean | number | string | null | undefined;
let firstData : Data;
let secondData : Data;
์ด๋ฐ์์ผ๋ก ํ์ ๋ณ์นญ์ ์ฌ์ฉํด ๊ฐํธํ๊ณ ์ฝ๊ธฐ ์ฝ๊ฒ ์์ฑํ ์ ์๋ค.
ํ์ ๋ณ์นญ์ ๊ฒฐํฉ
1. ํ์ ๋ณ์นญ์ ๋ค๋ฅธ ํ์ ๋ณ์นญ์ ์ฐธ์กฐํ ์ ์๋ค.
type Id = number | string;
type IdMaybe = Id | undefined | null;
2. ์ฌ์ฉ ์์๋๋ก ํ์ ๋ณ์นญ์ ์ ์ธํ ํ์๋ ์๋ค.
type IdMaybe = Id | undefined | null;
type Id = number | string;
//์์๊ฐ ๋ฐ๋์ด๋ OK!!
'FrontEnd > Typescript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Typescript] ๊ฐ์ฒด(2) (1) | 2024.02.10 |
---|---|
[Typescript] ๊ฐ์ฒด(1) (1) | 2024.02.09 |
[Typescript] ์ ๋์ธ๊ณผ ๋ฆฌํฐ๋ด(1) (0) | 2023.11.20 |
[Typescript] ํ์ ์์คํ (2) (2) | 2023.11.18 |
[Typescript] ํ์ ์์คํ (1) (0) | 2023.11.18 |
์๋ ํ์ธ์? ๊ฐ๋ฐ์์ ๋๋ค.