반응형
표현식
- 값이 되는 것. 대부분 연산자 표현식
- 표현식의 결과를 변수, 상수, 프로퍼티에 할당 가능.
연산자 우선순위
- 자바스크립트가 평가식을 표현하는 순서
연산자
- 값을 만드는 행동
단항 부정과 단항 플러스
- 자바스크립트에서는
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++);
반응형