티스토리 뷰
반응형
타입스크립트를 사용하면 기본적으로 타입 추론과 체크를 진행한다. 하지만 부분적으로 타입 보장이 안되는 경우가 있다. 왜냐하면 느슨하게 타입을 확인하기 때문이다.
1. nodejs에서 타입 단언 시키기
assert를 활용해서 type을 단언하여 함수를 만들어 보자. assert() 함수는 런타임 시 불변 조건(invariant)를 검사하는 함수이다.
const assert = require('assert')
function add(x, y) {
assert(typeof x === 'number')
assert(typeof y === 'number')
return x * y // number * number
}
add(1, 1) // 2
add('1', 1)
// AssertionError [ERR_ASSERTION]: The expression evaluated to a falsy value: assert(typeof y === 'number')
위와 같은 경우는 assert 에 넣은 타입이 들어오지 않으면, AssertionError를 던진다. 이러한 방식으로 느슨한 type 체크 부분을 강화 할 수 있다.
2. assert
assert 모듈은 특정 조건이 참인지 거짓인지를 확인하여, 조건이 거짓인 경우 오류를 발생시킨다.
let a = 1;
let b = 2;
assert(a < b);
console.log("assert가 통과한다.")
a< b 라는 값이 참이므로 오류를 발생하지 않는다. 아래의 예를 다시 확인해 보자.
let a = 1;
let b = 2;
assert(a > b); // AssertionError [ERR_ASSERTION]: The expression evaluated to a falsy value
console.log("이 부분의 console은 작동하지 않는다.")
assert가 false인 경우는 위와 같이 AssertionError [ERR_ASSERTION]: The expression evaluated to a falsy value Error를 발생 시킨다. 위와 같은 방식으로 null 타입을 아래와 같이 체크 할 수있다.
import assert from 'assert'
const target = null
assert(target !== null) // error 발생
반응형
'Web > typescript' 카테고리의 다른 글
[react] 마우스 클릭 이벤트 타입 지정하기 (0) | 2023.02.14 |
---|
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Python
- react
- django
- Deque
- useState
- react autoFocus
- pandas
- typescript
- read_csv
- useHistory 안됨
- 자료구조
- 클라우데라
- next.config.js
- NextJS
- Queue
- mongoDB
- TensorFlow
- Vue
- BFS
- DFS
- 자연어처리
- error:0308010C:digital envelope routines::unsupported
- nodejs
- nextjs autoFocus
- vuejs
- UserCreationForm
- login
- JavaScript
- Express
- logout
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함