[javascript] 물음표/느낌표/물결 연산자
물음표 한개 연산자
- 삼항 연산자와 옵셔널 체이닝 연산자에서 사용된다
- 삼항 연산자
- if-else문과 비슷한 역할을 하며, 조건식이 참일때와 거짓일때 각각 다른 값을 반환
조건식 ? 참일 때의 값 : 거짓일 때의 값
옵셔널 체이닝 연산자
- 옵셔널 체이닝 연산자(.?)는 객체의 중첩 속성에 접근할 때, 해당 속성이 없는 경우 undefined를 반환하는 연산자
- 속성이 없을 때 발생할 수 있는 에러를 방지하고 코드의 간결성을 높일 수 있다.
물음표 두개(??)
- 좌항의 값이 null 또는 undefined인 경우에만 우항의 값을 반환하고, 그 외의 경우에는 좌항의 값을 반환
const a = null;
const b =undefined;
const c = 0;
const d = '';
const e = false;
console.log(a ?? 'default'); //defalut
console.log(b ?? 'default'); //defalut
console.log(c ?? 'default'); //0
console.log(d ?? 'default'); //''
console.log(e ?? 'default'); //false
- 변수의 값이 null 또는 undefined인 경우에 기본값을 설정할 때 유용하게 사용됩니다.
느낌표 한개(!)
- 느낌표는 논리 부정 연산자로 사용되며, 피연산자의 논리값을 반전 시킵니다.
- 피 연산자가 true면 false로 false면 true로
let x = 10;
let y = 20;
if(!(x>y)){
console.log("x는 y보다 작거나 같습니다")
}
느낌표 두개(!!)
- 불리언 값으로 명시적으로 변환 가능
- 두번째 연산자라고도 부른다.
- null 또는 undefined인 경우에도 명시적으로 false 값을 얻을 수 있다.
let x = null;
console.log(x) //null
console.log(!!x) //false
물결 한개(~)
- 비트 부정 연산자 또는 틸드 연산자라고 불리는 이 연산자는 피 연산자로 들어온 숫자 비트를 뒤집는 기능을 한다
- 2진수로 표현 했을 때 0을 1로, 1을 0으로 바꿔주는 동작을 하지만 단순하게 아래의 공식과 같다
~(K + 1)
let numA = 7;
console.log(~numA);
//-8
let numB = -5;
console.log(~numB);
//4
물결 두개(~~)
- Not 연산자는 두번 사용하게 되며 다시 원본 값을 반환하는 성질을 가지게 됩다.
- 소수점 아래 비트를 버린다
- Math.floor의 기능과 같이 소수점을 제거하는데 활용 가능
let numA = 5.5;
console.log(~numA);
//5
let numB = -10/3;
console.log(~numB);
//-3
블로그의 정보
개발 블로그👩💻
Blairj