그룹 연산자
- 소괄호 () 로 피연산자를 감싸는 연산자 이다.
- 자신의 피연산자인 표현식을 가장 먼저 평가한다. 따라서 연산의 우선순위를 조절할 수 있다.
10 * 2 + 3; // 23
// 그룹 연산자를 사용하여 우선순위를 조절
10 * (2 + 3); // 50
typeof 연산자
- 피연산자의 데이터 타입을 문자열로 반환하는 연산자이다.
- string , number , boolean , undefined , symbol , object , function 중 하나를 반환한다.
- null을 반환하는 경우는 없고, 함수는 function을 반환한다.
- null 타입인지 확인할 때는 일치 연산자(===)를 사용하여 비교하자.
- typeof 연산자가 반환하는 문자열은 위 7개 타입과 정확히 일치하지는 않는다.
- 선언하지 않은 식별자를 typeof 연산자로 연산해보면 에러가 발생하지 않고 undefined를 반환한다.
typeof '' // string
typeof 1 // number
typeof NaN // number
typeof true // boolean
typeof undefined // undefined
typeof Symbol() // symbol
typeof null // object
typeof [] // object
typeof {} // object
typeof new Date() // object
typeof /test/gi // object
typeof function(){} // function
typeof undeclared; // undefined
// undeclared 식별자를 선언한 적이 없기에 undefined를 반환한다.
지수 연산자
- 좌항의 피연산자를 밑으로, 우항의 피연산자를 지수로 거듭제곱하여 숫자값을 반환한다.
2 ** 2 ; // 4
2 ** 2.5; // 5.65685424949238
2 ** 0; // 1
2 ** -2; // 0.25
- 음수를 거듭제곱의 밑으로 사용해 계산하려면 다음과 같이 괄호로 묶어야 한다.
-5 ** 2; // 에러
(-5) ** 2; // 25
- 할당 연산자와 함께 사용할 수 있다.
var num = 5;
num **= 2; // 25
- 이항 연산자 중 우선순위가 가장 높다.
2 * 5 ** 2; // 50
그 외 연산자
- 부수 효과가 있는 연산자는 할당 연산자( = ), 증가/감소 연산자 (++/-- ), delete 연산자다.
- 부수 효과가 있는 연산자는 다른 코드에 영향을 준다.
var x;
// 할당 연산자는 변수 값이 변하는 부수 효과가 있다. 이는 x 변수를 사용하는 다른 코드에 영향을 준다.
x = 1;
console.log(x); // 1
// 증가/감소 연산자는 피연산자의 값을 변경하는 부수 효과가 있다.
// 피연산자 x의 값이 재할당되어 변경된다. 이는 x 변수를 사용하는 다른 코드에 영향을 준다.
x++;
console.log(x); // 2
var o = { a: 1 };
// delete 연산자는 객체의 프로퍼티를 삭제하는 부수 효과가 있다. 이는 o 객체를 사용하는 다른 코드에 영향을 준다.
delete o.a;
console.log(o); // {}
'Javascript Deep Dive > 연산자' 카테고리의 다른 글
연산자 우선순위, 연산자 결합 순서 (0) | 2022.09.09 |
---|---|
삼항 조건 연산자, 논리 연산자, 쉼표 연산자 (0) | 2022.09.09 |
비교 연산자 (0) | 2022.09.09 |
할당 연산자 (0) | 2022.09.09 |
산술 연산자 (0) | 2022.09.08 |
댓글