06型変換


タイプ変換とは?


JavaScriptのすべての値にタイプがあります.
開発者の意図に応じて、値を他のタイプに変換できます.開発者が意図的に値を変換するタイプは、明示的なタイプ変換またはタイプ鋳造と呼ばれます.
let x = 10;

//명시적 타입 변환
//숫자를 문자열로 바꿀거야!

let str = x.toString();
console.log(typeof str, str)// string 10

// x변수의 값이 변경된 것은 아니다.
console.log(typeof x, x) //number 10
あるいは、開発者の意図にかかわらず、式を評価する過程でJavaScriptエンジンによって黙々とタイプが自動的に変換されます.これをサイレントタイプ変換またはタイプ強制変換と呼びます.
let str = x + '';
console.log(typeof str, str); // string 10

// x 변수의 값이 변경된 것은 아니다.
console.log(typeof x, x); // number 10

6-1デフォルトタイプ変換

//피연산자가 모두 문자열 타입이어야 하는 문맥
 '10' + 2 // '102'

//피연산자가 모두 숫자 타입이어야 하는 문맥
5 * '10' // 50

//피연산자 또는 표현식이 불리언 타입이어야 하는 문맥
!0 // true
if(1) {}
エラーを最小限に抑えるために、JavaScriptはデフォルトのタイプ変換で式を評価します.サイレントタイプ変換が発生すると、タイプは文字列、数値、ブール値などの元のタイプのいずれかに自動的に変換されます.

6-2明示的なタイプ変換


これは開発者の意図に基づいてタイプを明確に変更する方法である.String、Number、Booleanなど...

文字列タイプに変換

  • 新しい演算子なしでStringコンストラクタを呼び出す方法
  • Object.prototpye.TOStringメソッド
  • を使用
  • 文字列接続演算子
  • を使用
    // 1. String 생성자 함수를 new 연산자 없이 호출하는 방법
    // 숫자타입 -> 문자타입
    String(1); // "1"
    String(NaN); // "NaN"
    String(Infinity) // "Infinity"
    
    // 불리언 타입 => 문자열 타입
    String(true); //"true"
    String(false); //"false"
    
    // 2. toString 메소드 사용
    (1).toString(); //"1"
    (NaN).toString(); // "NaN"
    (Infinity).toString(); //"Infinity"
    
    
    // 불리언 타입 => 문자열 타입
    (true).toString(); //"true"
    (true).toString(); //"false"
    
    // 3. 문자열 연결 연산자 이용
    
    1 + ''; // "1"
    NaN + ''; // "NaN"

    数値タイプに変換


    新しい演算子なしで
  • 番号生成器関数を呼び出す方法
  • ParseInt、ParseFloat関数
  • を使用
  • (+)単項演算子
  • を使用
  • (*)演算子
  • を使用
    // 1. Number 함수 이용
    // 문자열 => 숫자타입
    Number('0'); // 0
    Number('-1'); // -1
    
    // 불리언 타입 => 숫자타입
    Number(true); // 1
    Number(false); // 0
    
    // 2. parseInt, parseFloat 사용(문자열만 변환 가능)
    parseInt('0'); // 0
    parseInt('-1'); // -1
    
    // 3. + 단항 연산자 
    +'0'; // 0
    +'-1'; // -1
    // 불리언 타입도 가능함
    
    // 4. * 산술 연산자 이용
    // 문자열 => 숫자타입
    '0' * 1; // 0
    '-1' * 1; // -1