자바스크립트 타입 변환

(2018-11-10)

형 변환, 타입 변환

1. 자바스크립트 형 변환 (암묵적 형 변환)

  ㅇ 암묵적 형 변환
     - (수치 → 문자열)
        . `+` 연산자        : 피 연산자들을 문자열형변환
           .. 例) 3 + "0" => 문자열 "30"

     - (문자열 → 수치)
        . `-`,`*` 이항 연산자    : 피 연산자들을 수치로 형변환
           .. 例) var test = "3"; test - 0 => 숫자 3
        . `+` 단항 연산자   : 피 연산자를 수치로 형변환
           .. 例) var test = "3"; +test => 숫자 3

     - (수치,문자열논리형)
        . `!` 단항 연산자   : 피 연산자를 Boolean으로 형변환하고, 부정(negate) 연산을 함

  ㅇ 비교 연산에 따른 암묵적인 형변환 결과
     - `==` 비교 연산자  : 우선, 형변환을 해보고, 그 다음에 비교 과정을 수행함
        . 단, 기본 타입의 경우에는 저장된 값에 대해 형변환 후 비교를 수행하지만,
              참조 타입의 경우에는 저장된 값이 주소이므로, 비교 수행이 별 의미없음
     - `===` 비교 연산자 : 형변환을 수행하지 않고, 엄격한 비교 과정을 수행함

  ㅇ 논리 연산에 따른 암묵적인 형변환 결과 (즉, 조건문이나, Boolean() 함수의 결과)
     - false로 간주되는 값들
        . 빈 문자열 (''), 0, -0, NaN, null, undefinded  =>  false
     - true로 간주되는 값들
        . 0을 제외한 숫자, 빈 문자열을 제외한 문자열, 모든 객체, 심볼


2. 자바스크립트 형 변환 (명시적 형 변환)

  ㅇ 대부분, 암묵적인 자동 형 변환을 하지만, 때때로 명시적인 형 변환을 하려면,
     - 주로, Boolean(),Number(),String(),Object() 함수를 많이 이용함

  ㅇ 수치를 문자열로 명시적인 형변환 : Number 객체메소드들을 이용하는 방법
     - toString()
     - toLocaleString()
     - toFixed()
     - toExponential()
     - toPrecision()

     * 例) var num = 1234.567;
        . num.toString() => "1234.567" (10진법)
        . num.toString(16) => "4d2.9126E978d5" (16진법)
        . num.toFixed(0) => "1234" (소수점 이하 버림)
        . num.toFixed(2) => "1234.57" (소수점 이하 2자리에서 반올림)
        . num.toFixed(4) => "1234.5670" (소수점 이하 4자리)
        . num.toExponential(3) => "1.235e+3" (소수점 이하 3자리 표기 후 지수 표현)
        . num.toPrecision(6) => "1234.57" (유효숫자 6개로 표현하되, 반올림)
        . num.toPrecision(3) => "1.23e+3" (유효숫자 3개로 표현하되, 정수부 작으면 지수 표현)

  ㅇ 문자열을 수치형으로 명시적인 형변환
     - Number() 함수 : 문자열 등 모든 데이터형실수(부동소수점)로 형변환
        . 例) Number("3.14") => 3.14, Number(true) => 1, Number(null) => 0,
              Number(undefined) => NaN, Number([1,2,3]) => Nan, Number(NaN) => NaN

     - parseInt()   : 문자열정수형변환
        . 例) parseInt("3.14") => 3
     - parseInt(num,base)  : base로 지정된 진법으로 해석하여 10진수 정수 형변환
        . 例) parseInt("101",2) => 이진수로 해석하여 10진수 5
     - parseFloat() : 소수점,지수 표현까지 포함한 문자열실수(부동소수점)로 형변환
        . 例) parseFloat("3.14") => 3.14

     - `-`,`*` 연산자


[JS 변수,타입,논리식] 1. JS 변수,타입 2. JS 타입 구분 3. JS 타입 변환 4. JS 논리값 5. 변수 호이스팅

 
        최근수정     요약목록     참고문헌