
Decorators 1๏ธโฃ What is Decorators? ํด๋์ค, ํ๋กํผํฐ, ์ก์ธ์, ๋ฉ์๋, ํ๋ผ๋ฏธํฐ์ ์ฒจ๋ถํ ์ ์๋ ํน๋ณํ ํจ์์ด๋ค. ๋ฐ์ฝ๋ ์ดํฐ๊ฐ ๋ถ์ ํด๋์ค ๋ฑ๋ฑ ์์๋ ๋ฐ์ฝ๋ ์ดํฐ์์ ์ ์๋ ๊ธฐ๋ฅ์ด ๋์ํ๋ค. ์ ์ํ ๋ฐ์ฝ๋ ์ดํฐ ํจ์๋ฅผ @ ๊ธฐํธ๋ฅผ ๋ถ์ฌ ์คํํ ์ ์๋ค. function ClassDeco(constructor: Function) { console.log('Logging...'); console.log(constructor); } @ClassDeco class Person { name = 'Shou'; constructor() { console.log('Creating person object...'); } } /* Logging... class Person { constructo..

๊ณ ์ฐจ ํจ์ ๊ณ ์ฐจ ํจ์๋? ๊ณ ์ฐจ ํจ์๋ 1. ํจ์๋ฅผ arguments๋ก ๋ฐ์ ์ ์๊ฑฐ๋ 2. ํจ์๋ฅผ returnํ ์ ์๊ฑฐ๋ 3. ๋๋ ์ ๋ ๊ฐ์ง ์ฌํญ์ ๋ชจ๋ ํด๋นํ๋ ํจ์๋ฅผ ์๋ฏธํ๋ค. // ๋ค๋ฅธ ํจ์๋ฅผ arguments๋ก ๋ฐ๋ ๊ฒฝ์ฐ function double(num) { return num * 2; } function doubleNum(func, num) { return func(num); } let output = doubleNum(double, 4); // return๊ฐ์ด ํจ์์ธ ๊ฒฝ์ฐ function adder(added) { return function (num) { return num + added; }; } let output = adder(5)(3); // ๋๋ ์ ๋ ๊ฐ์ง์ ๋ชจ๋ ํด๋นํ๋..

1. ๋ณ์ ๋ณ์๋? ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ์ ํ๋ ๋ณด๊ดํจ์ ์ด๋ฆ์ด๋ค. โ๏ธ ๋ณ์์ ์ ์ธ ๋ณด๊ดํจ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ๊ณต๊ฐ์ ํ๋ณดํ๋ ํ์์ด๋ค. // let ๋ณ์์ด๋ฆ; let date; โ๏ธ ํ ๋น ํ๋ณดํ ๋ณด๊ดํจ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ํ์์ด๋ค. // ๋ณ์์ด๋ฆ = ๊ฐ; date = 20220822; /* ์ ์ธ๊ณผ ๋์์ ํ ๋นํ๋ ๊ฒฝ์ฐ let ๋ณ์์ด๋ฆ = ๊ฐ; */ let date = 20220822; ์ด ๋ = ๋ ์ํ์ ์๋ฏธ์ '๊ฐ๋ค'๊ฐ ์๋, '๋์ ํ๋ค'์ ์๋ฏธ์ด๋ค. ๐ ๋ณ์ ์ ์ธ ์ ์ฃผ์์ฌํญ ๐ ๋ณ์๋ช ์๋ ๊ณต๋ฐฑ์ ์ฐ์ง ๋ชปํ๋ฏ๋ก, ๋ณดํต ๋จ์ด์ ์ฒซ ๊ธ์๋ฅผ ๋๋ฌธ์๋ก ์์ฑํ๋ CamelCase๋ฅผ ์ฌ์ฉํ๋ค. ์ด๋ฏธ ์ ์ธํ ๋ณ์๋ฅผ ๋ค์ ์ ์ธํ ๋๋ let์ ์ฐ์ง ์๋๋ค. 2. ํ์ ํ์ ์ด๋? ์ ์ฅ๋ ๊ฐ์ ์ข ๋ฅ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋ ๊ฒ..