
▲ JS에서는 new 연산자 혹은 생성자함수 등을 사용하지 않고 객체를 표현하면 그 형식을 리터럴이라고 한다.
1. 산술연산자


2. 비교 연산자

▲ JS에서는 조건식에서는 0이나 null이나 false면 false로 처리되고, 그 이외의 오든 값은 true로 변환 및 판단되는 특징이 있다. 또한 기타 산술식등에서 true는 1로, false는 0으로 변환되어 실행되는 특징이 있다.

▲ 자바에서는 안되는 연산들이 JS에서는 가능하다.

▲ JS에는 자바에는 없는 === ,!==연산자가 있다.


▲ NaN끼리는 등가비교하면 무조건 false이기 때문에 비교하는 의미가 없다. NaN은 '숫자가 아니다'라고 하는 것이므로.
new Number('HELLO')도 NaN이고 new Number('안녕')도 NaN이다. 따라서 결과는 NaN이지만 그 값 HELLO와 안녕인 것처럼 값이 다를 수 있기 때문에 JS내부적으로도 무조건 false가 반환된다. 설사 같은 HELLO로 NaN이 나왔다고 하더라도 NaN끼리비교는 false가 나온다.


▲ 값은 100으로 같지만 타입이 num1은 number이고 num2는 object이므로 ===비교연산에서는 false가 나온다.

▲ 배열을 비교할 때는 단순 값을 하나씩 비교하는 경우와 다르다. arr1과 arr2 모두 배열안의 내용이 동일하지만 비교연산에서는 동일하지 않게 인식된다.

▲obj도 기본적으로 ==연산을 하면 object와 동일하게 false가 나온다. 하지만 obj1에 obj2의 주소값을 대입하므로써 두 변수가 모두 같은 객체를 참조하고 있기 때문에 ==연산과 ===연산 모두 true가 나온다.
만약 위 배열예제에서도 arr1=arr2를 하여 arr1에 arr2가 참조하고 있는 객체의 주소값을 넣어 같은 객체를 참조하게 되면 ==연산과 ===연산 모두 true가 나오게 된다.
3. 논리연산자

▲ 자바와 완전 동일하다.
4. 증감연산자

5. 단축표현식

'JavaScript > Javascript_Advanced' 카테고리의 다른 글
| [JS]If문 (0) | 2022.04.11 |
|---|---|
| [JS]Array(배열) part.2(배열의 주요 함수) (0) | 2022.04.11 |
| [JS]Array(배열) part.1 (0) | 2022.04.11 |
| [JS]변수(Variable) (0) | 2022.04.07 |
| [JS]JavaScript란? (0) | 2022.04.06 |