728x90
You-Dont-Know-JS 내용 참고
가장 흥미로웠던 점은 내가 비교할 두 변수의 타입을 확실하게 알고 있고, 두 변수의 타입이 완전히 일치한다면 === 대신 ==를 쓰라는 것이다.
그 이유는 우리가 타입을 확신할 수 없을 때, ===을 사용하여 예상치 못한 결과를 막을 것이기 때문이다.
결론적으로 == 와 ===를 쓰는 상황을 분리하여 구분할 수 있도록 하자는 것 같다.
어차피 위의 상황에서는 ==나 ===는 똑같이 동작하니까.
=== 대신 ==를 쓰는 것이 권장되는 상황이 3가지 있다.
- 타입스크립트를 쓰던 안 쓰던 목표는 type-aware 한 코드를 작성하는 것이다.
- 이미 변수의 타입을 알고 있을 때,
- 타입이 같을 때, ==가 코드의 길이도 짧으며 체크에 더욱 적절하다.
- 타입이 같지 않을 때, ==는 타입이 일치할 때까지 피연산자를 강제할 수 있는 유일한 연산자이다. 그러므로 타입이 같이 않아도 일치 비교를 통과하기를 바랄 때 사용할 수 있는 유일한 방법이다.
- 타입을 알지(추론하지) 못할 때, 마지막 수단으로 ===를 사용한다.
728x90
'Typescript' 카테고리의 다른 글
Typescript 제네릭(generic)이란? (0) | 2024.09.26 |
---|---|
인덱스 시그니처 (0) | 2024.05.14 |
Element implicitly has an 'any' type because expression of type 'string' can't be used to index type (0) | 2024.03.27 |
Type of emit value is always 'any' with new style defineEmits (0) | 2024.03.27 |
Typescript 인터페이스 네이밍 규칙 어떻게 할까? | 접두사 I를 사용하면 안 되는 이유 (1) | 2024.03.27 |