연산자가 연산을 수행하는 대상. 인수(argument)라고도 불림
let i = 1;
console.log(+i); // 1 숫자에 덧셈 연산자를 붙여도 영향 없음
let a = -6;
console.log(+a); // -6
//숫자가 아닌 피연산자에 덧셈 연산자를 붙이면 숫자형으로 변함
let p = true;
console.log(+p); //1
let q = false;
console.log(+q); //0
let w = null;
console.log(+w); //0
let e = "";
console.log(+e); //0
두 개의 피연산자를 받는 연산자
alert( 5 > 1); //true
alert( 5 == 1); //false
alert( 5 != 1); //true
유니코드 순으로 문자열을 비교한다(사전 편집 순이라고도 함)
'사전'순으로 비교한다고 말을 하기도 하는데 사전 앞쪽의 문자열보다 뒤쪽의 문자열이 더 크다고 판단한다
또한 대소문자도 따지는 데, 대문자 'A'와 소문자 'a'를 비교하면 소문자 'a'가 더 크다
왜냐면 유니코드에선 소문자가 대문자보다 더 큰 인덱스를 갖기 때문이다
alert('H' > 'A'); // true
alert('Flesh' < 'Fresh'); // true
비교하려는 자료형이 다르면 자바스크립트는 이들을 숫자형으로 바꾼다
alert('5' > 1 ); // true 문자열 '5'가 숫자로 변환된 후 비교 함
alert('05' == 1 ); // true 문자열 '05'가 숫자로 변환된 후 비교 함
불린값의 경우 true는 1, false는 0으로 변환된 후 비교 함
console.log(true == 1); //true
console.log(false == 0); //true
일치연산자
동등연산자(==)는 0과 false를 구별하지 못한다
console.log( 0 == false ); //true
console.log( '' == false ); //true
그렇다면 어떻게 0과 false를 어떻게 구별할까?
일치연산자(===)를 사용하면 자료형의 동등 여부까지 검사하기 때문에
console.log( 0 === false ) // false
를 반환함