블록체인 지갑생성 코드를 분석하던 중, 변수와 함수에 타입이 명시적으로 지정되어 있음을 발견했다 특히, 'account' 변수와 'getWalletPrivateKe' 함수에 각각 타입이 "따로 따로" 지정되어 있어서 이유가 무엇인지 궁금했다 이에 대한 조사를 통해 타입어노테이션(Type Annotation)이라는 TypeScript 핵심 개념을 알게 되었고, 이를 깊게 이해하고자 이 글을 작성하기로 결정했다 // 특정 지갑 주소의 개인키를 반환하는 정적 메서드를 정의 static getWalletPrivateKey(account: string): string { const filename = path.join(dir, account); const filecontent = fs.readFileSync(fi..
전략 패턴은 알고리즘의 정의와 사용을 분리하여, 알고리즘을 쉽게 교체하거나 확장할 수 있게 하는 디자인 패턴이다 TypeScript 를 활용하여 전략 패턴을 이용한 사용자 인증 로직을 구현해 보았다 1. 🖥️ Authents.ts 사용자의 인증 요청을 처리하는 로직을 담당 // 로그인 가입 관련된 작업 // 카카오, 네이버, 구글 import { Strategy } from "./auth"; // 사용자의 이메일과 비밀번호를 나타냄 export interface AuthProps { email: string; password: string; } // 인증, 응답을 나타내는 인터페이스 interface AuthenticatonResponse { success: boolean; // 옵션체이닝 사용 : me..
TypeScript 에서 배열을 다룰 때는 JavaScipt 와 유사한 방식을 사용하지만, 타입 안전성을 확보하기 위한 추가적인 기능이 있다 1. 기본 배열 타입 TypeScipt 에서 배열의 요소들이 특정 타입을 가져야 함을 지정할 수 있다 let fruits: string[] = ['apple', 'banana', 'cherry']; 2. 제네릭 배열 타입 'Array ' 형식을 사용하여 배열을 정의할 수 있다 let numbers: Array = [1, 2, 3, 4, 5]; 3. 튜플 배열의 각 위치에 대해 다른 타입을 지정할 수 있게 하는 데이터 구조 let tuple: [string, number] = ['apple', 5]; 4. 배열 메서드와 타입 안전성 TypeScript 는 배열 메서드..
🖥️ TypeScript 란? javaScript 에서 타입 검사 기능이 확장된 언어다 다르게 말하면 javaScript 의 슈퍼셋(상위 확장)이며, 대규모 프로젝트를 진행할 때 타입을 통한 오류 검사를 통해 타입을 통한 오류 검사를 통해 효율적으로 개발할 수 있다 ⌨️ TypeScript 의 주요 특징 타입 확장 : JavaScript 의 동적 타이핑 대신 TypeScript는 정적 타이핑을 제공한다 이를 통해 코드의 오류를 사전에 방지할 수 있다 객체 지향 프로그래밍 : TypeScript는 객체 지향 프로그래밍 패턴을 보다 깊게 지원하며, 함수형 프로그래밍이 대세임에도 타입 검사와 추론 기능을 활용할 수 있다 컴파일 언어 : TypeScript는 런타임이 없다. 컴파일 과정을 거쳐 JavaScipt..