ํ๋ก์ ํธ๋ฅผ ์ฒ์ ์ธํ ํ ๋, TypeScript ๋ก ํ์ ์ฒดํฌ๋ฅผ ์ด๋๊น์ง ํ์ฉํ ์ง, ์ด๋ค ์ค์ ์ผ๋ก ์ฐ๋ฆฌ์ ํ๋ก์ ํธ๋ฅผ ์ธ์ง ๊ณ ๋ฏผํ๋ ์ค ํ์๋ค(+๋)์ ํ์ ์คํฌ๋ฆฝํธ ๋ฅ์๋๊ฐ ๊ทธ๋ฆฌ ๋์ง ์๋ค๋ ๊ฒ์ ์๊ฒ๋์ด ๊ธฐ๋ณธ ํ์ ์คํฌ๋ฆฝํธ ์ธํ ์ ํ๋ฉฐ ์ฐ๋ ๊ธ.
tsconfig.json ์ค์
fucntion add(a,b){
return a+b;
}
add(10, null);
// noImplicitAny ์ค์ ์ด ๊บผ์ ธ์๋ค๋ฉด ์์ ์ฝ๋๋ ํ์
์ฒด์ปค๋ฅผ ํต๊ณผํ๊ณ ,
// noImplicitAny ์ค์ ์ด ์ผ์ ธ์๋ค๋ฉด ์ค๋ฅ๊ฐ ๋๋ค.
**์์ ์์์ ๊ฒฝ์ฐ, ํ์ ์คํฌ๋ฆฝํธ์ ์ค์ ์ ๋ฐ๋ผ ๋์ผ ์ฝ๋๋ผ๋ ํ์ ์ฒด์ปค์ ํต๊ณผ ๊ฐ๋ฅ์ฌ๋ถ๊ฐ ๋ฌ๋ผ์ง๋ค.
ํ์ ์คํฌ๋ฆฝํธ๋ ์ค์ ์ด 100๊ฐ ๊ฐ๊น์ด ๋๊ธฐ๋๋ฌธ์, ์ฐ๋ฆฌ ํ๋ก์ ํธ์์ ์ด๋ค ํ์ ์คํฌ๋ฆฝํธ ์ค์ ์ ์ฌ์ฉํ๋์ง ๊ผญ! ์ ์๊ณ ์ฝ๋๋ฅผ ์ง์ผํ๋ค.
ํ์ ์คํฌ๋ฆฝํธ ์ค์ ์ ํ๋ก์ ํธ์ ์ต์์ ๋ฃจํธ์ tsconfig.json ํ์ผ์ ์ด์ฉํ์ฌ ์ค์ ํ๋ ๊ฒ์ด ์ข๋ค.(์ด๋ฅผ ํตํด ๋๋ฃ๋ ๋ค๋ฅธ ๋๊ตฌ๋ค์ด ์ด๋ป๊ฒ ํ์ ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ ๊ณํ์ธ์ง ์ ์ ์์.)
strictNullChecks ์ต์ ์ ๊ป์ ๋
const x: number = null;
// ์ ์, null์ ์ ํจํ ๊ฐ.
strictNullChecks ์ต์ ์ ์ผฐ์ ๋
const y: number = null;
// ์ค๋ฅ, 'null'ํ์์ 'number' ํ์์ ํ ๋นํ ์ ์์ต๋๋ค.
ํต์ฌ ์ ์ด ๊ธฐ๋ฅ์ค 1์ฐจ๋ก ์ฌ์ฉํ ์ต์
- noImplicitAny - ๋ณ์๋ค์ด ๋ฏธ๋ฆฌ ์ ์๋ ํ์ ์ ๊ฐ์ ธ์ผ ํ๋์ง ์ฌ๋ถ.
- strictNullChecks - null๊ณผ undefined๊ฐ ๋ชจ๋ ํ์ ์์ ํ์ฉ๋๋์ง ํ์ธ.
++ tsconfig.json ์ค์ ์ต์ (์ ์ฒด) ์ฐธ๊ณ - https://www.typescriptlang.org/tsconfig
๐ธ ์ถ์ฒ ๐ธ
'JavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ JS ] Event.stopPropagation์ Event.preventDefault ์ ์ฐจ์ด์ ์์๋ณด๊ธฐ. (0) | 2024.07.14 |
---|---|
[ TypeScript ] ํ์ ์ ์ํ interface ์ ํํธ ์ฃผ์ ๋ฌ๊ธฐ. (0) | 2023.06.30 |
[ JavaScript ] async await ๋ฌธ๋ฒ (0) | 2022.12.04 |
[ JavaScript / Promise ] ์๋ฐ์คํฌ๋ฆฝํธ์ Promise์ ๋ํ์ฌ (0) | 2022.10.20 |
[ JavaScript ] undefined์ null์ ์ฐจ์ด์ ๋ํด ์์๋ณด๊ธฐ. (0) | 2022.07.17 |