기억의 DataBase

JavaScript의 변수타입과 연산자 본문

JavaScript

JavaScript의 변수타입과 연산자

Zester; 2019. 2. 12. 13:10
  • 자바스크립트의 Version
  1. 자바스크립트 버전은 ECMAScript(줄여서ES)의 버전에 따라서 결정되고, 이를 자바스크립트 실행 엔진이 반영
            ex) ES5, ES6(ES2015), 현재는 ES9까지 나온 상태.

  1. 2018년을 중심으로 ES6를 지원하는 브라우저가 많아서 몇 년간 ES6 문법이 표준으로 쓰이고 있음.
            ES6는 ES5문법을 포함하고 있어 하위호환성 문제가 없으나, 다만 feature별로 지원하지 않는 브라우저가 있음.

 


  • 변수(Variable)
        var - ES5까지 자주 쓰던 변수선언 방식(const와 let의 구분이 없었음)
 
        const - 한번 할당하면 재할당 할 수 없는 타입(상수와 유사)
    
  • 연산자
        1. ||(or 연산자)를 활용하면, if else 식의 코드를 줄일 수 있다.
        
        ex)

        var J;
        var gender = J || "male";    >> 이 자체가 if의 역할을 함
        gender;
        >> male
        
       아래와 같다
        
        var J;
        if(J === null){
        var gender = "male";
        }
        gender;
        >> male

        2. &&(and 연산자)는 값이 2개면 오른쪽 것을 할당한다.
        
        ex) 

        var korea = "north"&&"south";
        korea;
        >> south;
        
        3. 삼항연산자를 활용하면  if문과 같은 조건문을 간단하게 사용할 수 있다.

        ex)

        const data = 11;
        const result = (data > 10) ? "ok" : "fail";
        console.log(result);

        4. 비교연산자 (==보다는 ===를 많이 사용)
        
        0 == false;
        "" == false;
        0 == "0';
        null == "undefined';
        
        >>  다 결과값이 true가 나옴

  >>  ==은 타입까지 비교하지 않기 때문에 문제가 될 수 있음

  (JavaScript는 암묵적으로 형변환을 하여 값을 비교하는 성질이 있다)

        
// 다른 값
false === 0 
true === 1
null === undefined

// 결론 : 그냥 ===으로 사용하자 || !==

 

// 문자열 더하기도 그냥 +로 가능

function hello(name) {
    console.log(name + "안녕");
}
  • JavaScript의 타입

     

    undefined, null, boolean, number, string, object, function
  • JavaScript의 타입은 선언할때가 아니고, 실행할 때 선언된다.
       function run(a){
            console.log(typeof a);
        }

       run("abc"); >> string
       run(true); >> boolean


'JavaScript' 카테고리의 다른 글

DOM과 getElementById, querySelector  (0) 2019.02.13
Window 객체, CallBack 함수  (0) 2019.02.13
JavaScript Call Stack  (0) 2019.02.13
JavaScript 함수  (0) 2019.02.13
JavaScript의 반복, 조건문  (0) 2019.02.12
Comments