ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • JavaScript 05. 자바스크립트 - 형 변환
    JavaScript/1주차-JavaScript 문법 2023. 5. 26. 06:00

    형 변환 : 형태를 바꾼다. 문자열을 숫자열로, 숫자열을 문자열로 등등.

     

    1. 암시적 형 변환 : 개발자가 의도하지 않았고, 자동적으로 바뀌는 형 변환

    2. 명시적 형 변환 : 개발자가 의도한 형 변환

     

     

    1. 암시적 형 변환

    문자열과 다른 데이터를 더하기(+)를 할 때, 문자열이 항상 우선시된다.

    예를들어, 

    let result1 = 1 + "2";
       console.log(result1);
       console.log(typeof result1);

     

    여기에서 숫자열1과 문자열 "2"를 더하면

    문자열화되어 typeof는 string으로 나오고, 숫자열1을 문자열로 취급하여 12로 나온다.

     

      let result2 = "1" + true;
       console.log(result2);
       console.log(typeof result2);

     

    문자열 "1"과 불리언(true)를 더해도 역시 문자열화 되어 typeof는 string 나오고,

    true를 문자열 취급하여 1true라고 나온다.

    다른 데이터들, { }, null, undefined + "1" 등등 다 문자열화 된다.

     

    하지만, 더하기가 아닌 다른 연산자 빼기(-), 곱하기(*), 나누기(/) 에서는 항상 숫자열이 우선시된다.

     

       let result3 = 1 - "2";
       console.log(result3);
       console.log(typeof result3);    -> 빼기이므로 문자열"2"을 숫자열취급. 답은 -1
    
    
       let result4 = "2" * "3";
       console.log(result4);
       console.log(typeof result4);   ->곱하기이므로 문자열"2"와 "3"을 숫자열 취급. 답은 6

     

    2. 명시적 형 변환

     

    2-1. Boolean

     

       console.log(Boolean(0));
       console.log(Boolean(""));
       console.log(Boolean(null));
       console.log(Boolean(undefined));
       console.log(Boolean(NaN));

     

    값은 false로 나옴. 위의 5개는 빈 문자열 취급함.

     

       console.log(Boolean("false"));
       console.log(Boolean({}));

     

    위의 2개는 true로 나옴. "false"와 {}는 값이 있는 문자열 취급함.

     

    2-2. 문자열 명시적 형 변환

     

       let result5 = String(123);
        console.log(result5);
        console.log(typeof result5);  → 123, string
    
        let result6 = String(true);
        console.log(result6);
        console.log(typeof result6);  → true, string
    
        let result7 = String(false);
        console.log(result7);
        console.log(typeof result7);  → false, string
    
        let result8 = String(null);
        console.log(result8);
        console.log(typeof result8);  → null, string
    
        let result9 = String(undefined);
        console.log(result9);
        console.log(typeof result9);  → undefined, string

     

    result값이 String일 경우 어떠한 데이터 타입도 다 string 문자열 형태로 도출됨.

     

     

    2-3 숫자열 명시적 형 변환

     

        let result10 = Number("123");
        console.log(result10);
        console.log(typeof result10);  → 123, number

     

    result값이 Number인 경우 어떠한 데이터 타입도 다 number 숫자열 형태로 도출됨.

    댓글

Designed by Tistory.