* 이 글은 드림코딩 by 엘리님 강의를 참고하여 만들었습니다. 😡 = 지양해야하는 코드 😍 = 지향해야하는 코드 1. Function { // 😡 function checkNotNullBad(arg: number | null): number { if (arg == null) { throw new Error("not valid number!"); } return arg; } //😡 function checkNotNullAnyBad(arg: any | null): any { if (arg == null) { throw new Error("not valid number!"); } return arg; } //😍 function checkNotNull(arg: T | null): T { if (arg == n..
Language & Framework & Library/TypeScript
* 이 글은 드림코딩 by 엘리님 강의를 참고하여 만들었습니다. 오스트랄로피테쿠스가 크로마뇽인(?)이 되는 것처럼 코드가 진화하는 내용을 이곳에서 담았습니다. 절차지향적인 코드가 객체지향적으로 변모하는 모습을 기록하기 위해 이번 글을 쓰게되었습니다. 주제는 커피머신입니다. 다양한 커피를 만들기 위한 머신과 이를 통해 추출할 수 있는 여러 커피들을 TypeScript + OOP로 구현했습니다. 코드는 순차적으로 보시면 좋을 것 같습니다. 그럼 시작하겠습니다 1. without-oop (절차지향 코드) { type CoffeeCup = { shots: number; hasMilk: boolean; }; const BEANS_GRAMM_PER_SHOT: number = 7; let coffeeBeans: nu..
* 이 글은 제로초님의 타입스크립트 강의를 참고하였습니다. 타입스크립트에 대한 모든 정보는 공식문서를 참고하면 되지만, 이렇게 따로 정리하는 이유는 공식문서에 쓰여져 있는 모든 문법들이 매 사용되는 것이 아니라는 점과 그 중에서도 자주 쓰이고, 중요하게 생각되는 문법들을 따로 정리할 필요가 있다고 생각되었기 때문이다. 그렇기 때문에 타입스크립트의 대한 자세한 정보를 알고 싶다면, 공식문서를 참고하는 것이 더 좋은 방법이라 생각이 된다. 아래 주소는 타입스크립트의 공식 문서 사이트이다. https://www.typescriptlang.org/docs/home.html Documentation · TypeScript www.typescriptlang.org 1. Basic shape - 자바스크립트의 원시 ..