TypeScript

Programming/Node.js

[Node.js] assert.doesNotThrow와 assert.doesNotReject의 차이점

Node.js에서는 코드의 동작을 검증하기 위해 다양한 단언(assertion) 함수들을 제공하고 있다. 이 중 assert.doesNotThrow()와 assert.doesNotReject() 함수는 코드 블록이 에러를 발생시키지 않는다는 것을 확인하는데 사용된다. 그러나 이 두 함수는 각각 다른 유형의 코드에 적용되므로 그 차이점을 이해하는 것이 중요하다. 1. assert.doesNotThrow(block[, error][, message]): 이 함수는 동기 코드 블록이 주어진 에러를 발생시키지 않는지 확인한다. 만약 코드 블록이 에러를 발생시키면, 그 에러는 무시되고 대신 AssertionError가 발생한다. 선택적으로 error 인자를 제공하여 특정 타입의 에러만 검사할 수 있다. 아래는 예..

Programming/Typescript

[Typescript] TypeScript의 모듈 파일과 전역 모듈의 차이점 및 예제

TypeScript는 자바스크립트에 정적 타입을 도입하여 코드의 안정성과 가독성을 높이게 된다. TypeScript를 사용하면 코드 구조화가 중요한데, 이에 관련하여 모듈 파일과 전역 모듈에 대해 설명하고자 한다. 예제 코드를 통해 이를 이해해보자. 1. 전역 모듈과 모듈 파일의 정의 TypeScript에서 파일은 기본적으로 다음 두 가지로 구분된다. 전역 모듈: 파일에 아무런 import나 export 문이 없는 경우, 해당 파일은 전역 모듈로 간주된다. 모듈 파일: 파일에 import나 export 문이 하나라도 있는 경우, 해당 파일은 모듈 파일로 간주된다. 2. 전역 모듈의 특징 및 예제 전역 모듈에서 정의된 요소들은 전역 범위에서 사용할 수 있다. 이 경우, 다른 파일에서 정의된 요소들을 명시적..

DataBase/MongoDB

[Mongoose] mongoose를 사용한 mongodb 필드를 삭제하는 방법

mongoose를 사용해서 마이그레이션 스크립트를 작성하던중 더이상 사용하지 않는 필드를 완전히 DB에서 삭제해야 하는 상황이 생겼다. 해당 필드를 DB에서 제거해보자. Version node.js: 16.15.1 mongoose: 6.6.2 mongoDB: 5.x Field 삭제 예를 들어 기존에 존재하던 스키마는 아래와 같은 형식이였다. const testSchema = new Schema({ test1: { type: String, required: true }, test2: { type: String, required: true }, test3: { type: String, required: true }, test4: { type: String, required: true }, test5: { t..

Programming/Typescript

[Typescript] typescript에서 enum을 반복하는 방법

typescript 환경에서 개발하던 도중 받은 값이 enum안에 존재하는지 확인해야 하는 일이 생겼다. enum을 반복해서 enum에 포함되는 값인지 확인해보자. enum 반복 아래와 같은 enum이 있다고 가정하자. enum Test { Zero = 0, One = 1, Two = 2, Three = 3 } typescript에서의 enum은 결국 javascript의 object로 변환이 된다. Object.keys와 Object.values로 값을 뽑을 수 있다. // 객체의 key를 뽑아낸 후 숫자로 형변환 한다. 그 후 문자열만 뽑는다. // keys = ['Zero','One','Two','Three'] const keys = Object.keys(Test).filter((v) => isNa..

얼은펭귄
'TypeScript' 태그의 글 목록