blair's 개발 portfolio

[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

활동하기