연산자(비교, 논리)

tapata·2022년 2월 24일
0

JavaScript

목록 보기
1/5

논리연산자

  • 논리연산자는 피연산자 중 하나를 반환

    기호의미
    &&and
    ||or
    !not

OR

  • 왼쪽에서 오른쪽 방향 으로 검사, 가장 처음 발견한 truthy 피연산자를 반환.
  • 모든 피연산자가 falsy인 경우 마지막 피연산자를 반환
    3 || 4 => 3
    true || 8 => true
    false || 4 || 100=> 4

AND

  • 왼쪽으로 오른쪽 방향 으로 검사, 가장 처음 발견한 falsy 피연산자를 반환.
  • 모든 피연산자가 truthy인 경우 마지막 피연산자를 반환

논리연산자의 특징을 활용한 디폴트 할당

// PORT가 falsy한 값이면 3000
const port = PORT || 3000 

// name의 길이가 0 이상인 경우에만 
const username = name.length > 0 && <p>{name}</p>

truthy vs. falsy

  • falsy : 0, "", null, undefined, -0, NaN
  • truthy : falsy가 아닌 모든 피연산자

비교 연산자

  • comparison operator

동등 연산자

  • a == b : a와 b를 같은 type으로 형변환 해서 비교 e.g. 1 == '1' // true
  • 잘 사용되지 않음, 타입 강제 변환 발생

일치 연산자

  • 객체의 참조를 비교 + 값을 비교(기본형의 경우)
  • a === b
    -Object.is(A,B)

lodash.isEqual

  • 객체의 값을 비교할 때 사용

python과 비교

  • a is b : 참조를 비교
  • a == b : 값을 비교
    • dict를 비교할때 사용가능
    • 인스턴스를 비교할때 사용가능
      • 기본적으로는 참조가 비교되고
      • (__eq__) 실행됨
profile
hello

0개의 댓글