ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 자료형 변환(type conversion)
    프론트엔드/JavaScript 2020. 9. 9. 22:20

    C, 자바와 달리 자바 스크립트의 경우 타입 변경이 자유롭다.

     

    var, let을 써주며 별도의 타입을 지정하지 않아도 엔진에서 알아서 판단해서 적절한 자료형을 부여한다.

     

    <body>
        <script>
    
            let num = 20;
            console.log(num);  // 숫자 20 출력
    
            num = "안녕하세요";
            console.log(num);  // 글자 "안녕하세요" 출력
    
        </script>
    </body>

     

    그래서 위와 같은 변수에 다른 타입의 값을 재할당할 수도 있는 등 자유로운 형변환이 이뤄진다.

     

    이러한 자료형 변환은 크게 두 가지로 나뉜다.

     

    묵시적 타입 변환(implicit type conversion)

    특정 타입의 값을 기대하는 곳에 다른 타입의 값이 오면, 자동으로 타입을 변경한다.

     

    <body>
        <script>
        
            let num = "10"*"5";
            console.log(num); // 50 출력
            // 문자로 이뤄진 숫자지만, 연산을 하기 위해 타입이 자동변환됨
    
            let name = "저는 "+5+"번입니다.";
            console.log(name); // 저는 5번입니다.
            // 문자와 숫자의 조합이지만, 숫자는 문자열과 결합하면서 문자열로 자동 변환된다.
    
        </script>
    </body>

     

    명시적 타입 변환(explicit type conversion)

    묵시적 타입 이외에도 사용자가 직접 원하는 방식으로 타입을 변환할 방법도 있다.

     

    이를 명시적 타입 변환이라 한다.

     

    1. Number() / 숫자로 형변환

    <body>
        <script>
            
            let num = "7"+7;
            console.log(num); // '77' 출력.
            // 문자 '7'과 숫자 7이 조합되서 문자열 '77' 출력.
    
            let num2 = Number("7")+7;
            console.log(num2); // 14 출력
            // 문자 '7'을 Number()를 써서 형변환. 이후 숫자 7과 더해서 14 출력.
            
        </script>
    </body>

     

    Number()의 괄호 안에 들어간 숫자형 문자는 문자가 아닌 숫자로 형변환 된다.

     

    정수, 실수는 parseInt, parseFloat를 쓸수도 있지만 Number로 해결이 된다.

     

    2. String() / 문자로 형변환

    <body>
        <script>
            
            let num = 7+7;
            console.log(num); // 14 출력.
            // 숫자 7과 7이 더해져서 14 출력.
    
            let num2 = String(7)+7;
            console.log(num2); // 77 출력
            // String()안에 들어간 숫자는 문자로 형변환되어 숫자 7과 합쳐져 77이 문자열이 출력.
            
        </script>
    </body>

     

    String()의 괄호 안에 들어간 숫자는 문자로 형변환 된다.

     

    3. Boolean() / true, false로 형변환

    <body>
        <script>
    
            let Bool1 = Boolean(0);
            console.log(Bool1);  // false 출력
    
            let Bool2 = Boolean(1);
            console.log(Bool2);  // true 출력
    
            let Bool3 = Boolean(3<2);
            console.log(Bool3);  // false 출력
            
        </script>
    </body>

     

    Boolean()의 괄호 안에 들어간 데이터는 true, false 여부를 따져서 boolean 타입으로 형변환된다.

     

    4. Object() / Object로 형변환

    Boolean()의 괄호 안에 들어간 데이터는 Object타입으로 형변환된다.

    '프론트엔드 > JavaScript' 카테고리의 다른 글

    자바스크립트의 배열(Array)  (0) 2020.09.10
    for...of / for...in 에 대해서  (0) 2020.09.09
    Var vs let vs Const  (0) 2020.09.09
    자바 스크립트의 데이터 타입  (0) 2020.09.05
    자바 스크립트 적용하기  (0) 2020.09.05
Designed by Tistory.