프론트엔드/TypeScript31 인터페이스 TypeScript에서 인터페이스를 선언하고 사용할 수 있다. TypeScript 파일에서 인터페이스 선언 예제 interface Pesron1 { name: string; age: number; } // 일반적인 형식 function hello1(person: {name: string; age: number}): void{ console.log(`안녕하세요! ${person.name} 입니다.`); } // 인터페이스를 이용하여 매개변수입력을 진행하도록 설정 function hello2(person: Pesron1): void{ console.log(`안녕하세요! ${person.name} 입니다.`); } const p1: { name: string; age: number} = { name: 'Mar.. 2021. 6. 17. vscode - node js를 이용한 typescript 파일 생성 typescirpt 프로젝트를 시작할 폴더 생성 해당 폴더에 명령어: npm init -y 이용해서 node.js 환경 설정 해당 폴더에 명령어: npm i typescript -D 이용해서 typescript 환경 설정 그 후 명령어: npx tsc 를 이용해서 typsescript 파일을 javascript파일로 컴파일 가능하고 실행 명령어: node 컴파일된파일명.js 입력해서 확인 2021. 6. 17. 컴파일 폴더 지정 tsconfig.json 파일 내부에 outDir: 컴파일 된 js파일이 들어갈 폴더 지정 rootDir: ts파일이 들어갈 폴더 지정 ./src 위치에 .ts파일을 넣고 컴파일 (npx tsc)을 실행 하면 ./dist 위치에 .js파일이 생성 된다. 2021. 6. 16. 타입 시스템 타입 시스템 컴파일러에게 사용하는 타입을 명시적으로 지정하는 시스템 컴파일러에게 자동으로 타입을 추론하는 시스템 타입스크립트의 타입 시스템 타입을 명시적으로 지정할 수 있다. 타입을 명시적으로 지정하지 않으면, 타입스크립트 컴파일러가 자동으로 타입을 추론 타입이란 해당 변수가 할 수 있는 일을 결정한다. // JavaScript // f1 이라는 함수의 body 에서는 a 를 사용할 것이다. // a 가 할 수 있는 일은 a 의 타입이 결정한다. function f1(a) { return a; } 함수 사용법에 대한 오해를 야기하는 자바스크립트 // JavaScript // (f2 실행의 결과가 NaN을 의도한 것이 아니라면) // 이 함수의 작성자는 매개변수 a 가 number 타입이라는 가정으로 함수.. 2021. 6. 15. void 어떤 타입도 가지지 않는 빈 상태를 의미 function returnVoid(message: string): void{ console.log(message); return undefined; } // 에러발생 리턴이 없기 때문에 // const r: undefined = returnVoid('리턴이 없다.'); function returnVoid(message: string){ console.log(message); } // 에러발생 리턴이 없기 때문에 // const r: undefined = returnVoid('리턴이 없다.'); 2021. 6. 15. never 주로 return에 사용된다. function error(message: string): never { throw new Error(message); } function fail(){ return error('failed'); } // 무한 루프 function infiniteLoop(): never { while(true){ } } never 타입은 모든 타입의 subtype 이며, 모든 타입에 할당 할 수 있습니다. 하지만, never에는 그 어떤 것도 할당할 수 없습니다. any 조차도 never에게 할당 할 수 없습니다. 잘못된 타입을 넣는 실수를 막고자 할 때 사용하기도 한다. declare const a2: string | number; // never를 이용해서 잘못된 타입을 넣지 않는 방법.. 2021. 6. 15. 이전 1 2 3 4 5 6 다음