Javascript Deep Dive/연산자

그룹 연산자,typeof 연산자, 지수 연산자, 그 외 연산자

FE묭묭 2022. 9. 9.

그룹 연산자

  • 소괄호 () 로 피연산자를 감싸는 연산자 이다.
  • 자신의 피연산자인 표현식을 가장 먼저 평가한다. 따라서 연산의 우선순위를 조절할 수 있다.
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

댓글