연산자는 하나 이상의 표현식을 대상으로 산술, 할당, 비교, 논리, 타입 연산 등을 수행해 하나의 값을 만들어 냄
연산의 대상 = 피연산자
피연산자 = 값 (명사)
연산자 = 값을 만든다 (동사)
더하기는 문자열 우선
빼기는 숫자 우선 (문자열에는 빼기 메커니즘이 없음)
substr = 인덱스 길이
substring = 인덱스 번호 (시작 인덱스, 종료 인덱스) (string)
slice = (array)
++ 증가 -- 감소 + 효과 없음 - 양수 > 음수 / 음수 > 양수
x= 5 y = x++; // 선 대입 후 증가 console.log(y, x) = 6, 5 y = ++x; // 선 증가 후 대입 consol.log(y, x) = 6, 6
피연산자 중 하나 이상이 문자열인 경우 문자열 연결 연산자로 동작
boolean 타입은 + 와 함께 사용시 true인 경우 1, false인 경우 0으로 치환
'1' + '2' = '12' // 문자열
'1' + 2 = '12' // 문자열
x=y -> x = y x += y -> x = x + y x -= y -> x = x - y x *= y -> x = x * y x /= y -> x = x / y x %= y -> x = x % y
좌항과 우항의 피연산자를 비교하여 boolean 값을 반환
=== : 동일하다
값과 타입 모두 동일
console.log( 10 === 10 ); // true console.log( 10 === "10" ); // false console.log( true === 1 ); // false console.log( true === "true" ); // false console.log( null === undefined ); // false
== : 값이 같다
값 동일, 타입은 상관 없음
console.log( 10 == 10 ); // true console.log( 10 == "10" ); // true console.log( true == 1 ); // true console.log( true == "1" ); // true console.log( true == "true" ); // false console.log( null == undefined ); // true
== 동등 비교 ( 값 같음 )
=== 일치 비교 ( 타입 같음 )
!= 부등 비교 ( 값이 다름 )
!== 불일치 비교 ( 타입이 다름 )
피연산자의 크기를 비교하여 boolean 값을 반환
x > y x < y x >= y x <= y
조건문을 ? 와 : 을 이용하여 간결하게 표현
True > 앞의 code 실행
False > 뒤의 code 실행
let x = 2; let result = x % 2 ? '홀수' : '짝수'; console.log(result); = 짝수
&& : AND 연산자 (논리곱 연산자)
논리식이 모두 참이면 참, 한개라도 거짓이면 거짓
|| : OR 연산자 (논리합 연산자)
논리식이 한개라도 참이면 참, 모두 거짓이면 거짓
! : NOT 연산자 (논리 부정 연산자)
참이면 거짓, 거짓이면 참
자신의 뒤에 위치한 피연산자의 데이터 타입을 문자열로 반환
"null"을 반환하는 경우는 없으며 함수의 경우 "function" 반환
"string" "number" "boolean" "underfined" "symbol" "object" "function"