Chapter3. 연산자

산술 연산자

  • 모두 두 개의 피연산자를 갖는 이항 연산자.

  • 피연산자의 결합 방향은 왼쪽에서 오른쪽이다.

  • 아래는 연산자 우선순위 표다.

대입 연산자

증감 연산자

증감 연산자의 연산 순서

  • 피연산자의 어느 쪽에 위치하는가에 따라 연산의 순서가 다라진다.

  • C언어와 같으니깐 느낌적인 느낌으로 가면 된다.

비교 연산자

  • 비교 연산자는 피연산자 사이의 상대적인 크기를 판단하여 참, 거짓을 반환한다.

동등 연산자와 일치 연산자

  • 동등연사자(==)

    • 두 피연산자의 값이 서로 값으면 참을 반환한다.

    • 타입이 서로 다르면 강제로 타입을 같게 변환하고, 값ㅇ르 비교한다.

  • 일치연산자(===)

    • 타입의 변환 없이 두 피연산자의 값이 같고, 타입도 같아야만 참을 반환

var x = 3, y = '3', z = 3;
document.write((x == y) + "<br>");  // x와 y의 타입이 서로 다르므로 타입을 서로 같게 한 후 비교를 하므로 true
document.write((x === y) + "<br>"); // x와 y의 타입이 서로 다르므로 false
document.write(x === z);            // x와 z은 값과 타입이 모두 같으므로 true

논리 연산자

  • 아래는 진리표다.

기타 연산자

문자열 결합 연산자

  • 덧셈 연산자는 피연산자의 타입에 따라 두 가지 연산

    1. 둘 다 숫자면, 산술 연산

    2. 하나라도 문자열이면 문자열 결합

삼항 연산자

  • 표현식 ? 반환1 : 반환2

delete 연산자

  • 피연산자인 객체, 객체의 프로퍼티 또는 배열의 요소 등을 삭제해준다.

  • 삭제를 성공하면 true, 못하면 false

  • var arr = [1, 2, 3];          // 배열 생성
    delete arr[2];                // 배열의 원소 중 인덱스가 2인 요소를 삭제함.
    document.write(arr + "<br>"); // [1, 2, ]
    // 배열에 빈자리가 생긴 것으로 undefined 값으로 직접 설정된 것은 아님.
    document.write(arr[2] + "<br>");
    // 배열의 요소를 삭제하는 것이지 배열의 길이까지 줄이는 것은 아님.
    document.write(arr.length);

typeof 연산자

  • 타입을 리턴해줌

instanceof 연산자

  • 피연산자인 객체가 특정 객체의 인스턴스인지 아닌지를 확인해줌

  • var str = new String("이것은 문자열입니다.");
    str instanceof Object;  // true
    str instanceof String;  // true
    str instanceof Array;   // false
    str instanceof Number;  // false
    str instanceof Boolean; // false