본문 바로가기
언어/TypeScript

TypeScript 의 유용한 연산자

by svcbn 2024. 9. 17.

08/09

 

TypeScript 에서의 ! (느낌표)

대부분의 언어에서 느낌표는 대부분 False 를 의미하는 연산자로 쓰인다.
TypeScript 에서는, 느낌표를 변수 뒤에 붙이면 False 가 아닌 다른 방식으로 사용할 수 있다.

논리 부정 연산자 (Logical Negation)

피연산자의 논리 값을 반전시킨다.
피연산자가 true면 false로, false면 true로 바꿔 준다.

Null 이 아닌 단언 연산자 !. (Non-null assertion operator)

피연산자가 null 이 아니라고 컴파일러에게 전달하여,
일시적으로 null 제약 조건을 완화할 수 있다.

확정 할당 단언 !: (Definite Assignment Assertions)

TypeScript 컴파일러가 감지할 수 없더라도, 변수가 실제로 할당되었음을 알리기 위해
인스턴스 속성 및 변수 선언 후에 느낌표를 사용할 수 있다.

두 번째 부정 연산자 !! (double negation operator)

느낌표를 2개 사용하여 값을 boolean 값으로 명시적으로 변환할 수 있다.
값이 null 또는 undefined 인 경우에도 명시적으로 false 값을 얻을 수 있다.

 

 

TypeScript 에서의 ? (물음표)

가장 일반적으로 사용하는 연산자.

삼항 연산자 ? : (Ternary operator)

조건식 ? 참일 때의 값 : 거짓일 때의 값

if - else 와 비슷한 역할을 하며, 조건식이 참일 때와 거짓일 때 각각 다른 값을 반환한다.

옵셔널 체이닝 연산자 ?. (Optional Chaining operator)

객체의 중첩 속성에 접근할 때, 해당 속성이 없는 경우 undefined를 반환하는 연산자.
속성이 없을 때 발생할 수 있는 에러를 방지하고, 코드의 간결성을 높일 수 있다.

nullish 병합 연산자 ?? (Nullish Coalescing operator)

좌항의 값이 null 또는 undefined 인 경우에만 우항의 값을 반환하고, 그 외는 좌항의 값을 반환한다.
옵셔널 체이닝 연산자 (?.) 와 함께 사용할 수 있음.

 

 

TypeScript 에서의 ~ (물결)

비트 부정 연산자 / 틸드 (Tilde) 연산자 ~

피연산자로 들어온 숫자의 비트를 뒤집는 기능.
2진수라면 0 >> 1, 1 >> 0 으로 바꿔준다.

-( K + 1 )

32비트 정수로 변환되고, 32비트가 넘는 경우 가장 중요한 왼쪽 비트부터 제거된다.

더블 틸드 연산자 ~~ (Double Tilde operator)

tilde 를 2번 반복하는 연산자이다. 소수점 아래 비트를 버리는 성질이 있다.

  • Math.floor() 대신 사용할 수 있다.
    ~~를 활용하면 숫자에 ~연산을 하게 되면서 소수점들은 버려지게 되는데,
    속도 측면에서 Math.floor() 보다 빠르다.
  • undefined 또는 null 을 0으로 변환할 때 사용할 수 있다.

'언어 > TypeScript' 카테고리의 다른 글

declare  (0) 2025.12.02
TypeScript import 오류들  (0) 2025.11.25
Union / Intersection Type  (0) 2025.01.08
extends / implements  (0) 2024.09.23
배열 활용 method  (0) 2024.08.27