๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

JavaScript

[TS] ํ”„๋กœ์ ํŠธ์— tsconfig ์„ค์ •ํ•˜๊ธฐ.

 

 

 

 

 

ํ”„๋กœ์ ํŠธ๋ฅผ ์ฒ˜์Œ ์„ธํŒ…ํ•  ๋•Œ, 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

 

 


 

๐ŸŒธ ์ถœ์ฒ˜ ๐ŸŒธ

 

typescriptlang