내일배움캠프_개발일지/TypeScript 연습 (21) 썸네일형 리스트형 TypeScript 연습 <1> -21- ******************************** 예를 들어서, 다음 같은 경우에는 if 가 필요하겠지 —— type Add2 = { (a:number, b:number) : number (a:number, b:string) : number } const add2 : Add2 = (a, b) => { if (typeof b === "string") { return a } return a + b; } —— => 왜? 매개변수의 타입에 따라서 함수 안에서 구현될 로직이 달라질 테니까. 반대로, 다음 같은 경우에는 if 가 없어도 오류는 발생하지 않아. —— type SuperPrint = { (arr:number.. TypeScript 연습 <1> -20- ________________________________________________________________________ TypeScript 블록체인 - 블록체인 완성하기 폴더 : kimminsoo -> NomadCoders -> typechain_2 1. ________________________________ —— import crypto from "crypto"; interface BlockShape { hash: string; // 해당 블록이 가지게 될 해쉬값. 해당 블록만의 고유한 서명과도 같아. 결정론적 값. prevHash: string; // 이전.. TypeScript 연습 <1> -19- ________________________________________________________________________ TypeScript 블록체인 - Definitely Typed 폴더 : kimminsoo -> NomadCoders -> typechain_2 1. ________________________________ Crypto 패키지 안의 함수를 타입스크립트한테 설명해줄 파일이 필요하다. 헌데 타입스크립트에게.. TypeScript 연습 <1> -18- ________________________________________________________________________ TypeScript 블록체인 - 블록체인 만들기 시작 폴더 : kimminsoo -> NomadCoders -> typechain_2 => 블록 체인의 기초에 대해 배울 수 있을거야. 1. ________________________________ 우선, 지금의 프로젝트 방식은 그리 효율적이지 않아. npm run build 로 타입스크립트를 자바스크립트로 트랜스파일해서 사용하고 있는데, 그 다음에 nodeJS 로 그 코드를 실.. TypeScript 연습 <1> -17- ________________________________________________________________________ TypeScript 블록체인 - JS -> TS 폴더 : kimminsoo -> NomadCoders -> typechain 1. ________________________________ tsconfig.json 에 가서 "compilerOptions" 에 옵션을 추가. —— // tsconfig.json "compilerOptions": { "outDir": "build",.. TypeScript 연습 <1> -16- 3. ________________________________ 1) src 폴더 안에 “ myPackage.js “ 라는 파일을 하나 만들자. 폴더 : kimminsoo -> NomadCoders -> typechain -> src -> myPackage.js 그리고 다음과 같이 작성 —— export function init (config) { return true } export function exit (config) { return code + 1; } —— 다음으로, 함께 src 폴더 안에 있는 index.ts 파일로 가서, myPackage 가 node 의 모듈 인 것처럼 행동해보자. —— // index.ts import {init} from.. TypeScript 연습 <1> -15- 2. ________________________________ 1) 이번엔 tsconfig.json > compilerOptions 옵션 중 “lib” 속성에 대해 알아보자. —— { "include": [ "src" ], "compilerOptions": { "outDir": "build", "target": "ES6", "lib": [] } } —— => “lib” 에 마우스 호버하면 나오는 설명. Specify a set of bundled library declaration files that describe the target runtime environment. See more: https://www.typescriptlang.o.. TypeScript 연습 <1> -14- ________________________________________________________________________ TypeScript 블록체인 - 타입스크립트 프로젝트 만들기 폴더 : kimminsoo -> NomadCoders -> typechain 자바스크립트로 트랜스파일 해보기 > 우선 알아둬야 할 것이 있어. 기본적으로 nest.js, next.js, create-react-app(CRA) 를 사용하는 경우라면 수동으로 타입스크립트 프로젝트.. TypeScript 연습 <1> -13- ________________________________________________________________________ TypeScript 로 객체 지향 프로그래밍 -4- 다형성 우선 상기해보자. polymorphism, 즉 다형성이란 ‘다른 모양의 코드를 가질 수 있게 하는 것’ 이야. 다형성을 이룰 수 있는 방법은, 제네릭을 사용하는 것. 제네릭은, placeholder 타입을 쓸 수 있도록 해줘. Concrete 타입이 아니라. => 개발자가 제네릭 타입의 변수에 값을 할당하는 순간, 타입스크립트는 placeholder 타입의 제네릭을 co.. TypeScript 연습 <1> -12- ________________________________________________________________________ TypeScript 로 객체 지향 프로그래밍 -3- class, interface 복습 인터페이스는 내가 원하는 메소드와 프로퍼티를 클래스가 가지도록 지시한다. 허나 자바스크립트에서는 인터페이스가 트랜스파일 되지 않아. 추상 클래스와는 다르게. 즉 추상 클래스와 인터페이스가 같은 역할을 한다면 (= 다른 클래스들이 특정 모양을 따르도록 하기 위한 용도) 인터페이스를 사용하는 편이 나아. 프로젝트가 더 가벼워 지거든. 기억해야 할 것. 첫 번째. 타입을 쓰고 싶다면 type 키.. 이전 1 2 3 다음