Javascript expression



Expression(표현식)이란?

정의: 자바스크립트가 파싱하여 값으로 출력할 수 있는 모든 구문들을 의미 합니다.


1. 세부지정이나 호출


  1. . [] ()

2. 산술 연산자

  1. 1 + 11 - 11 * 11 / 1
 
3. 논리연산자


많은 언어에서 논리 연산자는 좌우 항으로 불리언을 기대하며 결과값으로 불리언을 가집니다.

하지만 자바스크립트의 &&(AND)연산자는 첫번째 피연산자가 거짓(false)일 경우,
첫번째 피연자의 값을 가지고 그렇지 않은경우는 두번째 피연산자의 결과값을 갖는다.


  1. alert(1 !== 1 && 0); // false(좌측 피연산자 1 !== 1(false))
  2. alert(1 === 1 && 0); // 0(좌측 피연산자 1 === 1(true))
  3. alert(0 && 1); // 0(좌측 피연산자 0(false))
  4. alert(1 && 0); // 0(좌측 피연산자 1(true))
  5.  
  6. var div = document.createElement('div');
  7. alert(div && div); // object(좌측 피연자 div(true));
  8. alert(!div && 0); // false(좌측 피연산자 !div(false));


4. 동등연산자


  1. ['==']:
 

두 데이터값에 타입이 다르더라도 값이 일치하면 true를 반환한다.


  1. null == undefined //true
  2. 3 == '3' //true
  3. 1 == true //true
  4. 0 == false //true
  5. null == undefined //true
  6. {a: 1} == {a: 1} //false(서로다른객체)
  7. var obj1 = obj2 = {a: 1}
  8. obj1 == obj2 //true(같은객체를 참조함
  9. (function 내부라면 obj1은 지역변수 obj2 전역변수로 선언))

두 데이터값에 타입이 같고 값이 일치하면
true를 반환한다.



  1. null == undefined //false
  2. 3 == '3' //false
  3. 1 == true //false
  4. 0 == false //false
  5. null == undefined //false
  6. {a: 1} === {a: 1} //false(서로다른객체)
  7. var obj1 = obj2 = {a: 1}
  8. obj1 === obj2 //true
  9. (같은객체를 참조함(function 내부라면 obj1은 지역변수 obj2 전역변수로 선언))


5. 관계 연산자
 

  1. >, <, >=, <=

6. Instanceof 연산자

해당 객체의 생성자 일치하면 true를 반환한다.

  1. {} instanceof Object //true
  2. {} instanceof Array //false


7. 단항 연산자

  1. delete 연산자: delete window['value'];
  2. new 연산자: new function(){;}
  3. typeof 연산자: typeof 1
  4. + : +=
  5. -:-=
  6. !:!=
 

8. 삼항 연산자

  1. ?: --> var isLogin = isLogin === true ? true : false