TypeScript
[ํ์ ์คํฌ๋ฆฝํธ] ๊ณจ๋ฑ ์ด @ ๋ฐ์ฝ๋ ์ดํฐ
https://m.blog.naver.com/pjt3591oo/222120496022 [typescript] ํ์ ์คํฌ๋ฆฝํธ ๋ฐ์ฝ๋ ์ดํฐ 1ํธ - ๋ฐ์ฝ๋ ์ดํฐ 4๊ฐ์ง ๊ธฐ๋ณธ๊ตฌ์กฐ ์์๋ณด๊ธฐ ์๋ ํ์ธ์. ๋ฉ๊ฐ์ ๋๋ค ์ด๋ฒ๊ธ์์๋ ํ์ ์คํฌ๋ฆฝํธ์์ ์ง์ํ๋ ๋ฐ์ฝ๋ ์ดํฐ์ ๊ธฐ๋ณธ๊ตฌ์กฐ๋ฅผ ์์๋ณด๊ฒ ์ต๋๋ค... blog.naver.com https://sleepybird.tistory.com/158 [199์ผ์ฐจ]ํ์ ์คํฌ๋ฆฝํธ ๋ฐ์ฝ๋ ์ดํฐ Reference ๐๊ณต์๋ฌธ์ ํ์ ์คํฌ๋ฆฝํธ ๋ฐ์ฝ๋ ์ดํฐ ๋ค์คํธ๋ ์ต๊ทค๋ฌ๊ฐ์ ํ๋ ์์ํฌ๋ฅผ ๋ง์ฃผํ๋ค๋ณด๋ฉด ์ฌ์ฌ์น์๊ฒ ๋ณผ์์๋๋ ์์ด ์๋ค. ๋ฐ๋ก ์ด ๊ณจ๋ฑ ์ด๊ฐ ๋ถ์ด์ง '๋ฐ์ฝ๋ ์ดํฐ' ๋ผ๊ณ ๋ถ๋ฆฌ๋ ๋ ์์ด๋ค sleepybird.tistory.com ๊ณจ๋ฑ ์ด๊ฐ ๋ถ์ด์ง '๋ฐ์ฝ๋ ์ดํฐ' ๋ผ๊ณ ๋ถ๋ฆฌ๋ ๋ ์ ํ์ ์คํฌ๋ฆฝํธ์๋ง ์๋๊ฑด ์๋..
![[ํ์
์คํฌ๋ฆฝํธ ์์ ] ์ ๊ท ํํ์ regex, ์ ํ๋ธ์์ id๊ฐ๋ง ์ถ์ถํด์ EMBED ํด๋ณด๊ธฐ](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdfdvIq%2FbtrCOJM7hCq%2FzklfS9415TNWFtj0RWFom1%2Fimg.png)
[ํ์ ์คํฌ๋ฆฝํธ ์์ ] ์ ๊ท ํํ์ regex, ์ ํ๋ธ์์ id๊ฐ๋ง ์ถ์ถํด์ EMBED ํด๋ณด๊ธฐ
https://youtu.be/t3M6toIflyQ ๊ฐ๋ฐ์๋ผ๋ฉด ์ ๊ทํํ์์ ๊ผญ ์ฐ๊ฒ๋๊ธฐ ๋๋ฌธ์ ํ๋ฃจ ๋ ์ก๊ณ , ์์๋๋ ๊ฒ์ด ์ข์ *์๋ฆฌ๋ ์์์ ๋ณด๊ณ ํ์ตํ ํฌ์คํ ์ ๋๋ค. ์ด๋ป๊ฒ ์ํ๋ ํจํด์ ์์ฑํด๋๊ฐ๋์ง๊ฐ ์ค์ ํฌ์ธํธ์ด๋ค. ๐ ์์์์ ์ธ๊ธ๋ ์๋ฃ๋ค ๊นํ๋ธ ์ ๋ฆฌ โข https://github.com/dream-ellie/regex RegexOne(ํด์ฆ) โข https://regexone.com/ GitHub - dream-ellie/regex Contribute to dream-ellie/regex development by creating an account on GitHub. github.com RegexOne - Learn Regular Expressions - Lesson 1: An Intr..
[ํ์ ์คํฌ๋ฆฝํธ] declare namespace
https://velog.io/@kmp1007s/Typescript-%EB%AA%A8%EB%93%88%EA%B3%BC-%EA%B4%80%EB%A0%A8%EB%90%9C-%EC%9D%B4%EC%95%BC%EA%B8%B0
[ํ์ ์คํฌ๋ฆฝํธ] .d.ts ์ ๋ํ ์ดํด
https://typescript-kr.github.io/pages/declaration-files/creating-dts-files-from-js.html https://spookyjelly.tistory.com/39 .d.ts ์ ๋ํ ์ดํด๊ฐ ์์ด์ผ ํ๋ค. Js ํ์ผ์ js ํ์ผ๋ผ๋ฆฌ๋ง ๋ฐ๋ผ๋ณผ ์ ์๋ค Ts ํ์ผ์ ts ํ์ผ๋ผ๋ฆฌ๋ง ๋ฐ๋ผ๋ณผ ์ ์๋ค TypeScript 3.7์์, TypeScript๋ JSDoc ๊ตฌ๋ฌธ์ ์ฌ์ฉํ JavaScript์์ .d.ts ํ์ผ์ ์์ฑํ ์ ์๊ฒ ๋์๋ค. ๐.d.ts ํ์ผ์ ๊ธฐ์กด JS ๋ชจ๋์ ํ์ ์คํฌ๋ฆฝํธ์์ ์ฌ์ฉํ๊ธฐ ์ฉ์ดํ๋๋ก ๊ธฐ์กด JS ๋ชจ๋์ ํ์ ์ ๋ณด๋ฅผ ๋ณ๋์ ํ์ผ๋ก ์ ์ธํ๊ฒ๐ ๐งจd.ts ํ์ผ์ ํ์ ์ ์ธ๋ง ์ด๋ฃจ์ด์ง์ ์ ์๐งจ d.ts ์์ฑ๋ฒ @types ์์ ํด๋น ๋ชจ๋..
[ํ์ ์คํฌ๋ฆฝํธ] ! Non-null assertion operator
!: ์ด๋? ๋๋ํ๋ฅผ ์ง์ฐ๊ณ ๋์ค๋ ์๋ฌ : 'ui'์(๋) ์ด๋์ ๋ผ์ด์ ๊ฐ ์๊ณ ์์ฑ์์ ํ ๋น๋์ด ์์ง ์์ต๋๋ค.ts(2564) ํ์ ์คํฌ๋ฆฝํธ๊ฐ ํน์ null์ผ์ง๋ ๋ชจ๋ฅด๋ ๋์์ ์ปดํ์ผ์๋ฌ๋ผ์ธ ๋์์ฃผ๋๋ฐ ํ๋ก๊ทธ๋๋จธ๊ฐ null์ด ์๋๋ผ๊ณ ํ์ ์ด ์์๋์ TSC Null์ฒดํฌ์ ์์ธ ์ฒ๋ฆฌ ํด์ฃผ๋ ๊ฒ https://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-0.html#non-null-assertion-operator Non-null assertion operator A new ! post-fix expression operator may be used to assert that its operand is non-null and non-und..
ํ์ ์คํฌ๋ฆฝํธ + ๋ฆฌ๋์ค
https://devlog-h.tistory.com/33 Typescript์์ Redux๋ฅผ ์ฌ์ฉํด๋ณด์ ์๋ ํ์ธ์ ํด๋ชฌ๋ฉ ์ด๋ณด ๊ฐ๋ฐ์ ์ฐจ์์์ ๋๋ค. ์ด๋ฒ ์๊ฐ์๋ Typescript ํ๊ฒฝ์์ Redux๋ฅผ ์ฌ์ฉํด๋ณด๊ฒ ์ต๋๋ค. Redux๋ React ์์์ state๊ด๋ฆฌ๊ฐ ํ๋ค ์ ์๋ ๋ถ๋ถ์ ๋ณด์ํ๊ธฐ ์ํด ๋ง๋ค์ด์ก์ต๋๋ค. โป devlog-h.tistory.com
[ํ์ ์คํฌ๋ฆฝํธ] ํฉํ ๋ฆฌ ํจํด
1๋ฒ ๋ฐฉ์ interface Shoe { purpose: string; } class BalletFlat implements Shoe { purpose = "dancing"; } class Boot implements Shoe { purpose = "woodcutting"; } class Sneaker implements Shoe { purpose = "walking"; } class ShoeFactory { static create(Type: "balletFlat" | "boot" | "sneaker"): Shoe { switch (Type) { case "balletFlat": return new BalletFlat(); break; case "boot": return new Boot(); break..
[ํ์ ์คํฌ๋ฆฝํธ] ์ฐ์ต์ฉ์ผ๋ก ์์ฃผ ์ฌ์ฉํ๋ ์ธํ
์ค์น์ ๋ณํ ํ์ค ์์ฝ node.js ์ค์น → npm i -g typescript → tsconfig.json ์์ฑ → tsc -w ts๋ ๋ธ๋ผ์ฐ์ ์์๋ node์์๋ ์ฝํ์ง ์๋๋ค. ts๋ js ์ฝ๋๋ก ๋ณํํด์ฃผ์ด์ผ ํ๋ค. index.ts๋ฅผ ๋ง๋ค์๋ค๋ฉด tsc index.ts ๋ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅ main.js๋ ํ์ผ์ด ์๋ก ์์ฑ๋๋ค. ์ด ๋ณํ๋ js๋ ์ด์ ๋ธ๋ผ์ฐ์ ๋ node์์ ์ฝ์ ์ ์๋ค. ts๋ฅผ js๋ก ๋งค๋ฒ ์๋ ๋ณํ tsc ํ์ผ๋ช .ts ๋ ธ๋์์ ๊ฐํธํ๊ฒ ์คํ ts-node ์ค์น ๋ช ๋ น์ด: ๋ด๋ถ์ ์ผ๋ก ํ์ ์คํฌ๋ฆฝํธ ์ฝ๋๋ฅผ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ก ๋ณํํด์ ๋ ธ๋์์ ์คํํ๋ ๊ฒ์ ํ๋ฒ์ ํ ์ ์๋๋ก ๋์์ฃผ๋ ํด npm install -g ts-node ์ค์น ํ ๊ฐ๋ น index.ts๋ฅผ ์คํํ๊ณ ์ถ๋ค๋ฉด ts-no..
[ํ์ ์คํฌ๋ฆฝํธ] ํ์ ์คํฌ๋ฆฝํธ ์ปดํ์ผ๋ฌ(Typescript Compiler, TSC)
์ปดํ์ผ๋ฌ ํ์ ์คํฌ๋ฆฝํธ ์ปดํ์ผ๋ฌ(Typescript Compiler, TSC) ํ์ ์คํฌ๋ฆฝํธ๋ ์๋ฐ์คํฌ๋ฆฝํธ๋ ์๋ฐ ๊ฐ์ ์ฃผ์ ์ธ์ด์๋ ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก ๋์ ํ๋ก๊ทธ๋จ์ ํ๋ก๊ทธ๋๋จธ๊ฐ ์์ฑํ ๋ค์์ ํ ์คํธ ํ์ผ๋ก ๊ตฌ์ฑ๋๋ค. ํ ์คํธ๋ฅผ ์ปดํ์ผ๋ฌ๊ฐ ํ์ฑํ์ฌ ์ถ์ ๋ฌธ๋ฒ ํธ๋ฆฌ(abstract syntax tree, AST)๋ผ๋ ์๋ฃ๊ตฌ์กฐ๋ก ๋ณํ ์ปดํ์ผ๋ฌ๊ฐ AST๋ฅผ ๋ฐ์ดํธ์ฝ๋๋ก ๋ณํ ๋ฐํ์ ํ๋ก๊ทธ๋จ์ 2์์ ๋ณํ๋ ๋ฐ์ดํธ์ฝ๋๋ฅผ ์ ๋ ฅ, ํ๊ฐ ํ ๊ฒฐ๊ณผ์ป์. ์ฆ, ํ๋ก๊ทธ๋จ ์คํ์ด๋, ์ปดํ์ผ๋ฌ๊ฐ ์์ค ์ฝ๋๋ฅผ ํ์ฑํด AST๋ก ๋ง๋ค๊ณ , ๋ค์ AST๋ฅผ ๋ฐ์ดํธ์ฝ๋๋ก ๋ณํํ ๊ฒ์ ๋ฐํ์์ด ํ๊ฐํ๋๋ก ์ง์ํ๋ ๊ฒ ํ์ ์คํฌ๋ฆฝํธ๋ ์ปดํ์ผ๋ฌ๊ฐ ์์ค ์ฝ๋๋ฅผ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ก ๋ณํํ๋ค(๋ฐ์ดํธ์ฝ๋X). ํ์ ์คํฌ๋ฆฝํธ๋ ์ฝ๋๋ ์ธ์ ์์ ํด์ง๋๊ฐ. ํ์ ์คํฌ๋ฆฝ..