typescript
3 posts
index.d.ts ํŒŒ์ผ์˜ ์ •์ฒด๋Š”?

React ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋‹ค๊ฐ€ ์•Œ์ˆ˜ ์—†๋Š” ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค. ๊ฒ€์ƒ‰ํ•ด๋„ ๋ฌด์Šจ ์—๋Ÿฌ์ธ์ง€ ์•Œ ์ˆ˜ ์—†์–ด์„œ ์ง์ ‘ ์ฝ”๋“œ๋ฅผ ๋œฏ์–ด๋ณด๋ ค๊ณ  ctrl ๋กœ ํŒŒ๊ณ  ๋“ค์–ด๊ฐ”๋Š”๋ฐ, d.ts ํŒŒ์ผ๋งŒ ๋‚˜์˜ค๊ณ  ์ธํ„ฐํŽ˜์ด์Šค๋งŒ ๋ณด์—ฌ์ค„๋ฟ ๊ตฌ์ฒด์ ์ธ ์ฝ”๋“œ๋Š” ์•ˆ๋‚˜์˜ค๋Š” ๊ฒƒ์ด๋‹ค. ๊ฒฐ๋ก ์ ์œผ๋กœ, ๋™์ž‘ํ•˜๋Š” ์ฝ”๋“œ๋Š” ํ•ด๋‹น ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ์—ฌ๋Ÿฌ ํŒŒ์ผ ์ค‘ ์–ด๋”˜๊ฐ€์— ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ๋กœ ์กด์žฌํ–ˆ๋‹ค. ctrl ๋กœ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์—†์—ˆ์„ ๋ฟ ์กด์žฌํ–ˆ๋‹ค. ๊ทธ๋Ÿผ d.ts ํŒŒ์ผ์€ ๋ญ์ง€? ์™œ ์กด์žฌํ•˜๋Š”์ง€ ์•Œ์•„๋ดค๋‹ค. TypeScript์˜ d.ts: ์„ ์–ธ ํŒŒ์ผ ๋‚ด๊ฐ€ ๋“ค์–ด๊ฐ”๋˜ ํŒŒ์ผ์€ TypeScript ์ฝ”๋“œ๋กœ ์ž‘์„ฑํ•œ ์„ ์–ธ ํŒŒ์ผ์ด๋‹ค. d๋Š” declaration, ์„ ์–ธ์„ ์˜๋ฏธํ•œ๋‹ค. ์„ ์–ธ ํŒŒ์ผ์€ ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ๊ฐ€ ํƒ€์ž…์„ ์ถ”๋ก ํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ ์–ธํ•ด๋†“์€ ํŒŒ์ผ์ด๋‹ค. ๋ง๊ทธ๋Œ€๋กœ ์„ ์–ธ ํŒŒ์ผ์ด์–ด์„œ ํŒŒ์ผ ์•ˆ์— ์–ด๋–ค ๋ณ€์ˆ˜๊ฐ€ ๋ฌด์Šจ ํƒ€์ž…์ธ์ง€ ์„ ์–ธํ•ด๋†“์€ ๋‚ด์šฉ๋ฐ–์— ์—†๋‹ค. ์ง์ ‘ ํŒŒ์ผ์— ๋“ค์–ด๊ฐ€๋ณด๋ฉด ์ˆ˜๋งŽ์€ declare์™€ ์ธํ„ฐํŽ˜์ด์Šค๋“ค์ด ๋ฐ˜๊ฒจ์ค€๋‹ค. ์™œ ์žˆ์ง€? ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ์ž๋ฐ”์Šคํฌโ€ฆ

July 13, 2022
react
typescript
tsconfig.json ๊ตฌ์„ฑ ํŒŒ์ผ์—์„œ ์ž…๋ ฅ์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

ํŒŒ์ผ์—์„œ ๋ฐœ์ƒํ•œ ์˜ค๋ฅ˜๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋…ธ๋ ฅํ•œ ๊ณผ์ •์ž…๋‹ˆ๋‹ค. ์‚ฌ์šฉํ•œ ์ฝ”๋“œ ํŽธ์ง‘๊ธฐ๋Š” vscode์ž…๋‹ˆ๋‹ค. ๋ฌธ์ œ ๋ฐœ์ƒ ์ „ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ”„๋กœ์ ํŠธ์—์„œ es6์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด babel์„ ์„ค์น˜ํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฑธ ์•Œ๊ณ  ๊ณ ๋ฏผํ•˜๋‹ค๊ฐ€ ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ ํ”„๋กœ์ ํŠธ๋กœ ๋ณ€ํ™˜ํ•˜๊ธฐ๋กœ ๊ฒฐ์‹ฌํ–ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ์ „๋ถ€ํ„ฐ ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ ์šฉํ•˜๋Š” ๊ฑธ ์—ผ๋‘์— ๋‘๊ณ  ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๊ธฐ์กด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ”„๋กœ์ ํŠธ์— ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ๋ฅผ ์„ค์น˜ํ•˜๊ณ  ๊ฐœ๋ฐœํ™˜๊ฒฝ์„ ์„ค์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ ๋ฐœ์ƒ ์„ ํ†ตํ•ด ๋งŒ๋“ค์–ด์ง„ ์— ํ•œ์ค„์˜ ์—๋Ÿฌ๊ฐ€ ๊ณ„์† ์—†์–ด์ง€์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๊ตฌ์„ฑ ํŒŒ์ผ์—์„œ ์ž…๋ ฅ์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์–ด์ฉŒ๊ตฌ ์ €์ฉŒ๊ตฌ โ€ฆ ์ด ์—๋Ÿฌ๋Š” ์•„๋ฌด์ง“๋„ ํ•˜์ง€ ์•Š์•˜๋Š”๋ฐ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ์„ค์ •์ด ๋œ ๋œ์ค„ ์•Œ๊ณ  include์™€ exclude๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ๋ณ„ ์ง“์„ ๋‹ค ํ•ด๋ด๋„ ๊ทธ ํ•œ์ค„์€ ์—†์–ด์ง€์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ ํ•ด๊ฒฐ ๊ณผ์ • ๊ทธ๋Ÿฌ๋˜ ์ค‘ ํƒ€์ž… ์Šคํฌ๋ฆฝํŠธ ํ•ธ๋“œ๋ถ์—์„œ ๋‹ค์Œ์„ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค. โ€œcompilerOptionsโ€ ์†์„ฑ์€ ์ƒ๋žต๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ƒ๋žตํ•˜๋ฉด ์ปดํŒŒ์ผ๋Ÿฌ์˜ ๊ธฐ๋ณธ ๊ฐ’์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. โ€œfilesโ€๊ณผ โ€œincโ€ฆ

September 18, 2021
typescript
typescript ๊ฐœ์ฒด๊ฐ€ null, undefined์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค?

typescript๊ฐ€ ๊ฐœ์ฒด๊ฐ€ undefined, null ์ธ ๊ฒƒ ๊ฐ™๋‹ค๋ฉฐ ์—๋Ÿฌ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค๋Š” ์ด์œ , ๊ทธ๋ฆฌ๊ณ  ์‹คํ–‰ํ•˜๋„๋ก ์„ค๋“ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ดค์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ ์ƒํ™ฉ ์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์„ค์ •๋œ ๊ฒฝ์šฐ null ๊ณผ undefined ๋ฌธ์ œ๋ฅผ ์—„๊ฒฉํ•˜๊ฒŒ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์—๋Ÿฌ๊ฐ€ ์ž์ฃผ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๊ฐœ์ฒด๊ฐ€ โ€˜undefinedโ€™์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.ts(2532) ๊ฐœ์ฒด๊ฐ€ โ€˜nullโ€™์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.ts(2531) ๋ณ€์ˆ˜ ์ค‘ Date ์™€ null ์ด ๋‘˜๋‹ค ๋“ค์–ด๊ฐ€๋Š” ๊ฒฝ์šฐ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์—๋Ÿฌ๋„ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. โ€˜nullโ€™ ํ˜•์‹์€ โ€˜Dateโ€™ ํ˜•์‹์— ํ• ๋‹นํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.ts(2322) ๋ฌธ์ œ ํ•ด๊ฒฐ ์œ„ ์—๋Ÿฌ๋Š” ์„ธ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 1. ํƒ€์ž…์„ any๋กœ ์ •ํ•˜๊ธฐ any๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด TypeScript๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์˜๋ฏธ๊ฐ€ ์—†์–ด๋ณด์—ฌ ์ฐœ์ฐœํ•ฉ๋‹ˆ๋‹ค. 2. ์œ ๋‹ˆ์˜จ ํƒ€์ž… ์‚ฌ์šฉํ•˜๊ธฐ ์–ด๋–ค ํƒ€์ž…์ธ์ง€ ํ•œ๋ˆˆ์— ๋“ค์–ด์˜ค์ง€ ์•Š์Šต๋‹ˆ๋‹ค. 3. โ€œstrictNullChecksโ€: false ์œ„ ๋‘ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•ด๋„ ๊ฐœ์ฒด๊ฐ€ undefinโ€ฆ

September 18, 2021
typescript