Basix Knowledge Base

Powered by ๐ŸŒฑRoam Garden

ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ

์†Œ๊ฐœ

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์— ํƒ€์ž… ์‹œ์Šคํ…œ์„ ๋ถ™์ด๋Š” ์Šˆํผ์…‹ ์–ธ์–ด

์ž๋ฃŒ

Interface vs. Types

Interface๊ฐ€ type์˜ subset์ด๋ผ ๋ณด๋Š” ๊ฒƒ์ด ํ˜„์žฌ์˜ ๋‚ด ์‹œ๊ฐ์ด๋‹ค.

interface๋Š” ํ•ญ์ƒ ํŠน์ •ํ•œ ํ˜•ํƒœ๋ฅผ ๊ฐ€์ง„ object์ด๊ณ , optionalํ•œ ํ•„๋“œ๋Š” ์žˆ์„์ง€์–ธ์ • ํ•ญ์ƒ ์–ด๋–ค ํ•„๋“œ๊ฐ€ ์กด์žฌํ•˜๋Š” ์ง€ ์ •์ ์œผ๋กœ ๋ถ„์„ ๊ฐ€๋Šฅํ•˜๋‹ค.

๋˜ํ•œ ์ด๋Ÿฌํ•œ ํŠน์„ฑ์— ๊ธฐ์ธํ•˜์—ฌ interface (๋˜๋Š” union ๋“ฑ์ด ์—†๋Š” ์ˆœ์ˆ˜ object ํ˜•ํƒœ์˜ type)์„ extendํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ทธ ์™ธ์— Interface๋Š” Declaration Merging์ด ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ํŠน์ˆ˜ํ•œ ์„ฑ์งˆ์„ ๊ฐ€์ง„๋‹ค.

๊ฐ„๋‹จํžˆ ๋งํ•ด, ๊ฐ™์€ ์ด๋ฆ„์„ ๊ฐ€์ง„ interface๋ฅผ ๋‹ค์‹œ ์ •์˜ํ•˜๋ฉด ํ•ฉ์ณ์ง„๋‹ค.

Referenced in

June 9th, 2022

์ด๋ฏธ ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์ •์  ํƒ€์ดํ•‘์˜ ์‚ฌ์‹ค์ƒ ํ‘œ์ค€์œผ๋กœ ์ธ์ง€๋˜๋Š” ์ƒํ™ฉ์—์„œ ๋ฌธ๋ฒ•๋งŒ ์ถ”๊ฐ€๋œ๋‹ค๊ณ  ํ•˜๋ฉด ๋‚˜์  ๊ฑด ์—†๋‚˜ ์‹ถ๋”๋ผ

Babel

์ผ๋ฐ˜์ ์œผ๋กœ๋Š” ์ตœ์‹  JS๋‚˜ ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ๋กœ ์ž‘์„ฑ๋œ ํŒŒ์ผ์„ ๊ตฌํ˜• ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ธ์‹ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ๋ฒ•์œผ๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๋Š” ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

ESLint

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฐ ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ์—์„œ ํญ๋„“๊ฒŒ ์‚ฌ์šฉ๋˜๋Š” ๋ฆฐํ„ฐ

Bun

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋‚˜ ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ •๋ง ๋†€๋ผ์šด ์‹œ๊ฐ„ ๋‚ด์— ๋นŒ๋“œํ•ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์คŒ

June 12th, 2022

ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๊ตฌํ˜„ํ•œ decorator์ด ๋‹ค๋ฅด๊ณ 

Deno

V8 ์œ„์—์„œ ๋™์ž‘ํ•˜๋‚˜ ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋‚ด์žฅ ์ง€์›ํ•œ๋‹ค๋Š” ์ ์ด ํฐ ํŠน์ง•.