JavaScript/TypeScript
-
[Typescript] any, unknown, never 차이JavaScript/TypeScript 2023. 9. 20. 13:48
any 타입스크립트에서 any는 어떠한 타입이든 허용하는 타입입니다. 타입스크립트는 any 타입에 대해서 엄격하게 체크하지 않기 때문에 모든 타입의 연산을 적용할 수 있습니다. 그로인해 문제가 발생할 수 있는 코드도 컴파일 시 에러가 검출되지 않습니다. 아래 예시 코드도 컴파일 시에는 문제가 발생하진 않지만 런타임 환경에서 사이드 이펙트가 발생할 수 있습니다. const foo: any = 10; console.log(foo.length); // undefined unknown unknown은 타입스크립트의 Top-Type으로 타입스크립트에서 존재하는 모든 타입을 할당할 수 있습니다. 하지만 any와의 차이점은 모든 타입의 공통적인 연산만 수행할 수 있다는 점입니다. const foo: any = 10;..
-
[Jest] 절대 경로 적용법JavaScript/TypeScript 2021. 12. 18. 13:50
jest에서는 tsconfig에서 지정한 절대경로를 읽지 못함 package.json에 moduleNameMapper 추가 "jest": { "moduleFileExtensions": [ "js", "json", "ts" ], "rootDir": "src", "moduleNameMapper": { "^@/(.*)$": "/$1" }, "testRegex": ".*\\.spec\\.ts$", "transform": { "^.+\\.(t|j)s$": "ts-jest" }, "collectCoverageFrom": [ "**/*.(t|j)s" ], "coverageDirectory": "../coverage", "testEnvironment": "node" }
-
[Typescript] tsconifg 옵션JavaScript/TypeScript 2021. 2. 7. 14:20
타입스크립트를 자바스크립트로 변환할 때의 설정을 정의해놓는 파일 tsc 명령어를 사용하면 현재 폴더부터 상위 폴더로 순차적으로 tsconfig.json 파일을 탐색 타입스크립트 설정 파일 속성 files 컴파일할 파일들을 지정하는 옵션 { "files": ["app.ts", "./practice/test.ts"] } include files와 달리 컴파일할 파일을 지정하는 것이 아닌 디렉토리를 지정 타입스크립트는 기본적으로 node_modules를 제외하지만 써드 파티 라이브러리의 타입을 정의해놓는 @types 디렉토리는 컴파일에 포함함 와일드 카드 패턴 * : 해당 디렉토리의 모든 파일을 검색 **: 하위 디렉토리를 재귀적으로 접근 ? : 해당 디렉토리안에 파일의 이름 중 키워드를 포함하는 파일 검색 ..
-
[TypeScript] Cannot write file '...' because it would overwrite input file.JavaScript/TypeScript 2020. 11. 1. 14:09
원인 tsconfig파일에 outDir 옵션을 명시했을 경우에 발생 해결 방법 tsconfig파일에 exclude 옵션에 outDir path를 추가 { "compilerOptions": { ... "outDir": "./dist/", ... }, "exclude": ["./node_modules/", "./dist/**/*"] }
-
[TypeScript] TypeScript란?JavaScript/TypeScript 2020. 7. 8. 17:24
Microsoft에서 개발해고 관리하는 오픈소스 프로그래밍 언어 Javascript에 정적 타입을 도입한 Javascript로 ES6를 지원 특징 1. ES6 모듈 및 네임스페이스 ES6에서 제공하는 모듈 선언과 모듈 호출 방식을 지원 클래스를 그룹으로 구분할 수 있는 네임스페이스를 지원하여 라이브러리 단위의 모듈 구성 가능 2. 클래스와 인터페이스 객체지향 프로그래밍 환경을 제공해서 Class, Interface, Extends 등의 객체지향 언어에서 사용하던 키워드를 사용할 수 있음 3. 타입 시스템 타입 시스템을 지원하여 타입 안정성을 제공