자바스크립트 타입 변환

(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. 변수 호이스팅
  1.   기술공통
  2.   기초과학
  3.   진동/파동
  4.   방송/멀티미디어/정보이론
  5.   전기전자공학
  6.   통신/네트워킹
  7.   정보기술(IT)
        1. 정보기술
    1.   전산기초
    2.   컴퓨터구조
    3.   프로그래밍
          1. 프로그램,프로그래밍
      1.   프로그래밍 언어론
      2.   구조적 프로그래밍
      3.   객체지향 프로그래밍
      4.   자료표현코드
      5.   자료구조
      6.   알고리즘
      7.   시스템 소프트웨어
      8.   프로그래밍언어 종류
            1. 프로그래밍 언어
        1.   C
        2.   C++
        3.   자바(Java)
        4.   자바스크립트
              1. JavaScript
              2. JS 연산자
              3. 기초 문법
          1.   JS 변수,타입
            1.   1. JS 논리값
                2. JS 변수,타입
                3. JS 타입 구분
                4. JS 타입 변환
                5. 변수 호이스팅
          2.   JS 함수
          3.   JS 객체
          4.   JS 배열
          5.   JS 활용
          6.   JS 웹문서 제어
        5.   PHP
        6.   파이썬
        7.   (기타 언어)
      9.   프로그래밍 기타일반
    4.   데이터베이스
    5.   소프트웨어 공학
    6.   운영체제
    7.   정보보호/보안
    8.   IT 기타기술
  8.   공업일반(기계,재료등)
  9.   표준/계측/품질
  10.   기술경영

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