TypeScript

* 이 글은 드림코딩 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..
* 이 글은 드림코딩 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 - 자바스크립트의 원시 ..
·기타
등장배경 과거 ES3이 공개되었을 때 여러 웹 브라우저들의 독자 표준이 정리되어 있지 않은 상황이었다. 그래서 이 시절에는 어느 브라우저를 사용하든 잘 동작하는 JavaScript 코드를 짜는 브라우저 간 호환성(크로스 브라우징)을 확보하는 것이 웹 개발자들에게 큰 고민거리중 하나 였다. 이런 호환성 문제를 호환하기 위해 여러 라이브러리(Prototype, jQuery 등)가 개발되었고, 또 각 브라우저 개발사들이 ECMAScript표준을 따라 브라우저를 만들기 시작하였다. ES5가 공개된 2009년부터 브라우저 간 호환성 문제가 조금씩 해결되기 시작하였지만, ES6(ES2015)가 나오면서 또 다른 문제점에 봉착하게 되었다. ES6(ES2015)에서는 엄청나게 많은 문법과 기능(클래스, 모듈, 분할, ..
Santos
'TypeScript' 태그의 글 목록