JavaScirpt_7연산자

Yoon Tschoe·2022년 1월 14일
0

JavaScript

목록 보기
7/10

JavaScirpt 공부 정리
<모던 자바스크립트 Deep Dive>의 목차를 따릅니다. 책을 발제하는 것을 기본 골조로 하고, 개인이 공부한 내용을 추가합니다.


1. 연산자

  • 연산자: 하나 이상의 표현식을 대상으로 산술, 할당, 비교, 논리, 타입, 지수 연산 등을 수행해 하나의 값을 만든다.
  • 피연산자: 연산의 대상으로, 값으로 형가될 수 있는 표현식이어야 한다.
  • 피연산자와 연산자의 조합으로 이뤄진 연산자 표현식도 값으로 평가될 수 있는 표현식이어야 한다.

// 1) 산술 연산자
// a. 이항 산술 연산자
5 * 4;
// b. 단항 산술 연산자
i ++;
// c. 문자열 연결 연산자
1 + '2'; // 12

// 2) 할당 연산자
x += 5;

// 3) 비교 연산자
5 == '5'; // true
5 === '5'; // false

// 4) 논리 연산자
ture && flase; // flase

// 6) 타입 연산자
typeof 'Hi'; // string

1) 산술 연산자

a. 이항 산술 연산자

b. 단항 산술 연산자

  • 피연산자의 값을 변경하는 부수효과가 있다.
  • 위치에 따른 의미가 있다.
var x = 5;

// 선할당 후증가
result = x++;
console.log(result, x); // 5, 6

// 선증가 후할당
result = ++x;
console.log(result, x); // 7, 7

c. 문자열 연결 연산자

2) 할당 연산자

  • 우항에 있는 피연산자의 평가 결과를 좌항에 있는 변수에 할당한다.
  • 따라서 변수의 값이 변하는 부수 효과가 있다.

3) 비교 연산자

a. 동등/일치 비교 연산자

  • 동등 비교: 암묵적 타입 변환을 통해 타입을 일치시킨 후 값은 값인지를 비교
  • 일치 비교: 타입도 같고 값도 같은지 비교

plus tip 🦊
NaN은 자신과 일치하지 않는 유일 값이다.
NaN === NaN; // flase
빌트인 함수Number.isNan을 사용해보자.

b. 대소 관계 비교 연산자

5) 논리 연산자

💫 TIP
ex. value1 || value2 || check()
코드 작성시 과정이 가장 무거운 것을 마지막에 놓는 것이 좋은 코드

6) 타입 연산자 중 typeof 연산자

  • 데이터타입 총 7가지 중 null을 제외한 6가지 + function 중 하나를 반환한다.
  • null은 object로 반환하는데, 이것은 자바스크립트의 첫 번째 버전의 버그다. 기존 코드에 영향을 줄 수 있기에 아직까지 수정되지 못하고 있다.
    • null 타입인지 확인할 때는 typeof 연산자 대신 일치 연산자를 사용하자.
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"
profile
프론트엔드 개발자를 목표로 하는 전 미술기획자

0개의 댓글