PROGRAMING
Node.js 비동기 코딩
비동기 - 이벤트 기반 동작을 코드로 구현하는 방법 node.js에서 비동기 동작을 구현하는 세가지 방법을 학습 callback 전통적 javaScript의 이벤트 기반 코딩 방식 const countDown = require('./countdown'); countDown(5, ()=>{ console.log("BOOM!"); }); function countDown(count, callback) { console.log(count); if (count === 0) { callback(); return; } setTimeout(() => { countDown(count - 1, callback); }, 1000); } module.exports = countDown; Promise callback의 단점..
TypeScript 07 Generic
Generic이란? 데이터타입을 일반화하는것을 의미. 외부에서 정의를 하여, 코드의 재사용률을 높일수 있게 하는 기법 typeScript에서는 any타입사용을 지양하고, 다양한 타입을 설정해야할때 generic 또는 union 권장 generic으로 함수와 클래스 만들기 Union type "|"를 사용해 두개 이상의 타입을 선언하는 방식 // string과 number 두 타입이 허용될수 있게 union type을 선언해주세요 const printMessage = (message:string|number) => { console.log(message) } printMessage(1234) printMessage("hello") generic union 선언한 공통된 메소드만 사용할 수 있다. 리턴 값이..
TypeScript 06 인터페이스
인터페이스 타입체크를 위해 사용되며 변수, 함수, 클래스에 사용 가능하다. 여러가지 타입을 갖는 프로퍼티로 이루어진 새로운 타입 정의해야 한다. 프로퍼티와 메소드를 가질 수 있다는 점에서 클래스와 유사하지만 인스턴스를 생성할 수 없다. (모든 메소드는 '추상메소드') 또한, 추상클래스의 추상 메소드와는 달리 abstract 가 안붙는다! 더보기 ○ 인터페이스 VS 추상 클래스 VS 타입 정의 interface Test{ name : string; id : number; introduce() : void(); }; abstract class Test2{ name : string; id : number; abstract introduce() : void(); }; type Test2{ name : strin..
TypeScript 05 클래스와 인터페이스
객체지향 프로그래밍(OOP)이란? OOP는 컴퓨터 프로그램을 "객체(Object)"의 모임으로 파악하려는 프로그래밍 패러다임 중 하나이다. 큰 문제를 클래스로 쪼개고 클래스 간의 관계를 상속이나 포함으로 고려해가면서 추가한다. 각 객체들은 서로 메시지를 주고 받으며 데이터를 처리할 수 있다. 객체 지향 프로그래밍(OOP)의 장점 프로그램을 유연하고 변경이 용이하게 만든다. 남이 만든 클래스를 가져와서 이용가능하며 상속을 통해 확장할 수 있다. 프로그램의 개발과 보수를 간편하게 만든다. 절차 지향 프로그래밍에서는 코드를 수정해야할 때 일일이 찾아 수정해야하지만, 객체 지향 프로그래밍에서는 수정해야 할 부분이 클래스 내부에 멤버 변수혹은 메서드로 존재하기 때문에 해당 부분만 수정하면 된다. 직관적인 코드 분..
TypeScript 04 함수 사용
매개변수와 인수 function add(x, y) { return x + y; } add(2, 5); 매개변수 : 함수를 정의할 때 사용되는 변수를 매개변수라고 합니다. (x, y) 인수 : 함수를 호출할 때 사용되는 값을 인수라고 합니다. (2, 5) 인자 값, 매개변수, 파라미터(Parameter)는 모두 같은 말입니다. 일급객체 : 다른 객체들에 일반적으로 적용 가능한 연산을 모두 지원하는 객체 함수에 매개변수 제공 함수에서 반환 가능 변수에 할당 가능 JS와 TS의 함수는 일급 객체이다. 일급 객체의 함수선언 - 함수 자체를 값으로 저장 가능 let sum=function(a,b){ return a+b; } function ul(child){ return `{&child}` } - 함수를 리턴 f..
TypeScript 03 Utility types
TypeScript는 공통 타입 변환을 용이하기 하기 위해 유틸리티 타입을 제공한다. 전역으로 사용 가능하다. Partial : T의 프로퍼티를 선택적으로 구성할 수 있습니다. Readonly : T의 프로퍼티를 읽기 전용으로 설정하여, 값을 재할당하는 경우 에러가 발생합니다. Record : 프로퍼티 키를 K, 값을 T로 하는 타입을 만들 수 있습니다. 여러 키들을 지정하기 위해 타입을 선언한 방식(type Page = 'home' | 'about' | 'contact';)처럼 두 개 이상의 타입을 선언하는 방식을 유니온 타입이라고 합니다. Pick : T 타입 중에서 K 프로퍼티만 지정하여 타입을 만들 수 있습니다. Omit : T 타입의 모든 프로퍼티 중 K를 제거하여 타입을 구성합니다. Exclu..