개발후라이
개발후라이
개발후라이
  • 분류 전체보기 (287)
    • Web Front End (76)
      • Javascript & Typescript (26)
      • React (12)
      • Vue (4)
      • Nodejs (1)
      • HTML (6)
      • CSS (8)
      • HTTP (6)
      • 책 - Review (8)
    • TIL (0)
    • Problem Solved (135)
      • 알고리즘 (4)
      • BOJ (67)
      • Programmers (8)
      • HackerRank (33)
      • LeetCode (23)
    • 회고 (4)
      • 오늘의 회고 (16)
      • 주간 회고 (15)
      • 월간 회고 (7)
      • WakaTime (9)
    • Git (3)
    • 기타 (15)
      • 취업 (5)
      • 자격증 (1)

블로그 메뉴

  • GitHub
  • LinkedIn
  • 홈

인기 글

태그

  • 프론트엔드
  • 자바스크립트
  • TypeScript
  • 개발자
  • 회고
  • 노마드북클럽
  • 오늘의회고
  • JavaScript
  • 릿코드
  • 노개북

최근 댓글

최근 글

전체 방문자
오늘
어제

티스토리

hELLO · Designed By 정상우.
개발후라이

개발후라이

Web Front End/Javascript & Typescript

[러닝자바스크립트] 5장. 표현식과 연산자

2020. 2. 18. 11:41
반응형

표현식

  • 값이 되는 것. 대부분 연산자 표현식
  • 표현식의 결과를 변수, 상수, 프로퍼티에 할당 가능.

연산자 우선순위

  • 자바스크립트가 평가식을 표현하는 순서

연산자

  • 값을 만드는 행동

단항 부정과 단항 플러스

  • 자바스크립트에서는 10 % 3.6도 계산 가능함
const a = 5;
const x = 3 ### ###a; // x = 8;

const b = "5";
const y = 3 + +5; //y = 8;

NaN(특별한 숫자형 값)

  • 무엇과도 같지 않음
Nan === Nan; // false
Nan == Nan; // false

산술 연산자

let x = 2;
const r1 = x++ + x++;   // 2 + 3 = 5
const r2 = ++x + ++x;   // 5 + 6 = 11
const r3 = x++ + ++x;   // 6 + 8 = 14
const r4 = ++x + x++;   // 9 + 9 = 18   x = 10

let y = 10;
const r5 = y###### + y######;   // 10 + 9 = 19
const r6 = ######y + ######y;   // 7 + 6 = 13
const r7 = y###### + ######y;   // 6 + 4 = 10
const r8 = ######y + y######;   // 3 + 3 = 6    y = 2

==을 쓰지 않는 이유

  • null, undefined, 빈 문자열, 숫자 0이 있을 때 (불필요한) 문제가 생김
  • ===를 사용할 때 원하는 결과가 나오지 않으면 데이터 타입을 변환해서 사용하는 것 권장

Number.EPSILON

  • 대략 2.2204460492503130808472633361816E-16 또는 2^-52의 값을 가짐. 정수가 아닌 숫자를 느슨하게 비교하고 싶을 때 사용

Number.MAX_SAFE_INTEGER

  • 9007199254740991(약 9,000조)

Number.MIN_SAFE_INTEGER

  • -9007199254740991(약 -9,000조)

논리 연산자

거짓 같은 값

  • undefined
  • null
  • false
  • 0
  • NaN
  • ''(빈 문자열)

참 같은 값

  • object.valueOf() 메소드로 반환되는 객체(빈 객체나 false라도 -은 값임)
  • Array(빈 배열이라도 참 같은 값임)
  • 공백 문자열(" ")
  • 문자열 false

단축 평가

  • (피연산자는 x, y 순서로 있음)
  • &&일 때, x가 거짓 같은 값이면 x
  • &&일 때, x가 참 같은 값이면 y
  • ||일 때, x가 거짓 같은 값이면 y
  • ||일 때, x가 참 같은 값이면 x

조건 연산자

자바스크립트의 유일한 3항 연산자

const result = false ? "true" : "false";

쉼표 연산자

  • 표현식을 결합하여 두 표현식을 평가한 후, 두 번째 표현식의 결과를 반환하는 연산자
  • 표현식을 하나 이상 실행해야 하지만 값으로 필요한 것은 마지막 표현식의 결과뿐일 때 유용함
  • z = (x++, y++);
반응형
저작자표시 (새창열림)
    'Web Front End/Javascript & Typescript' 카테고리의 다른 글
    • clearTimeout이 사용되는 경우(Debouncing)
    • [러닝자바스크립트] 9장. 객체와 객체지향 프로그래밍
    • [러닝자바스크립트] 4장. 제어문
    • [러닝자바스크립트] 3장. 리터럴과 변수, 상수, 데이터 타입
    개발후라이
    개발후라이
    어제보다 오늘 발전하기 위한 공간 https://github.com/choisohyun

    티스토리툴바