DeepDiveJS Chapter 07. 연산자

[07장. 연산자]

</br>

✏️ 연산자의 우선순위


  연산자의 우선순위를 헷갈리게 되면, 종종 코드를 짤 때 오류가 발생하게 된다. 코드의 연산자는 단순히 생각하는 사칙연산 뿐만 아니라 할당, 삼항 연산, 심지어 쉼표를 통한 구분까지 있다.

우선순위 내용
1 ()
2 new(매개변수 존재), .(점), [ ](프로퍼티 접근), ( )(함수 호출), ?.(옵셔널 체이닝 연산자)
3 new(매개변수 미존재)
4 x++, x–
5 !x, +x, -x, ++x, –x, typeof, delete
6 **(이항 연산자 중 우선순위가 가장 높음)
7 *, /, %
8 +, -
9 <, <=, >, >=, in, instanceof
10 ==, !=, ===, !==
11 ??(null 병합 연산자)
12 &&
13 ||
14 ? … : … (삼항 연산자)
15 =, +=, -=, …(구조 분해 할당) (할당 연산자)
16 ,

</br>

✏️ 연산자의 결합 순서


  연산자에 따라서 왼쪽부터 읽히는 것도, 오른쪽부터 읽히는 것도 있다.

결합 순서 연산자
좌 -> 우 +, -, /, %, <, <=, >, >=, &&, ||, ., [], (), ??, ?, in, instanceof
우 -> 좌 ++, –, 할당 연산자(=, +=, -=, …), !x, +x, -x, ++x, –x, typeof, delete, ? … : … (삼항 연산자)