-
Section 2. 자바스크립트 연산자 마무리자바스크립트 2023. 3. 23. 10:56
전 포스트에 이어서 연산자 종류들을 조금 더 이해해보겠다.
1. 쉼표 연산자
쉼표 연산자는 왼쪽부터 차례로 실행하고 마지막 것을 반환한다.
let x = 1, y = 2, z = 3; console.log(x, y, z); //1 2 3 // 마지막으로 실행한 것 반환 console.log( (++x, y += x, z *= y) //12 );
두번째 출력문을 보면 왼쪽에서 오른쪽으로 차례대로 계산이 되고 마지막 계산된 값이 반환된 것을 확인할 수 있다.
2, 2*2, 4*3
2. null 병합 연산자. ??로 표현한다.
falsy가 아닌 null 또는 undefined만 대체한다.
let x; x ?? console.warn(x, 'x에 값이 없습니다.'); x = 0; x ?? console.warn(x, 'x에 값이 없습니다.'); //무시된다 x = null; x ?? console.warn(x, 'x에 값이 없습니다.');
연산자의 우선순위
현재까지 다룬 연산자들 중 우선순위 높은 순으로 나열해보자면 다음과 같다.
let x = 1; let y = 19 === 3 + 4 * 2 ** ++x; console.log(y); //true console.log( 2 > 3 || 4 % 2 === 0, //true 2 > (3 || 4) % 2 === 0, //false 2 > 3 || 4 % (2 === 0) // NaN );
첫번째 식에서 3 + 4 * 2 ** ++x 는 어느 순서로 계산이 되냐면 역순으로 계산이 된다. 우선순위 표를 보고 따라가면 쉽게 계산을 할 수 있다.
하지만 이렇게 하는 것은 헷갈리고 오류의 여지가 있기 때문에 두번째 코드처럼 ()로 우선순위를 조절해서 계산하는 것이 더 좋을 수도 있다.
두번째 식에서 ()안에 있는 식은 항상 먼저 실행된다는 사실을 알고 넘어가자.
'자바스크립트' 카테고리의 다른 글
자바스크립트 원시 타입과 참조 타입 (0) 2023.03.23 자바스크립트 객체와 배열 미리보기 (0) 2023.03.23 Section 2. 자바스크립트 불리언(boolean)과 관련 연산자 (0) 2023.03.22 Section 2. 자바스크립트 숫자(Number)와 관련 연산자 (0) 2023.03.22 Section 2. 자바스크립트 문자열에 사용되는 연산자 (0) 2023.03.22