[JS] Datatype 형변환

영태·2022년 3월 20일
0

[JS] Algorithm Study

목록 보기
7/8

요소를 형변환시키는 방법들
1. 타입을 문자열로 변환
2. 타입을 숫자형으로 변환
3. 타입을 불리언형으로 변환
4. 자동 형변환

1. 타입을 문자열로 변환

  1. 숫자형or 불리언형.toString
    (1234).toString // "111"
    (NaN).toString // "NaN"
    (Infinity).toString //"Infinity"
    (true).toString() //"true"
    (false).toString() //"false"
  1. String(숫자형,불리언형)
    String(1234) // "111"
    String(Nan) // "NaN"
    String(Infinity) //"Infinity"
    String(true)
    String(false)```
  1. 숫자형,불리언형+""
    1234+""// "111"
    Nan+"" // "NaN"
    Infinity+"" //"Infinity"```
    true+"" // "true"
    ""+false // "false"

2. 타입을 숫자형으로 변환

  1. parseInt(정수 문자열) || parseFloat(실수 문자열)
    : 소수가 없는 정수는 parseInt(), 소수가 있는 실수는 parseFloat()를 사용한다
    parseInt("11") // 11 정수
    parseFloat("11.55") // 11.55 소수
    parseInt("NaN") // NaN 
    parseFloat("NaN") // NaN 
    parseInt("Infinity") // Infinity 
    parseFloat("Infinity") // Infinity 
    parseInt("Hello") // NaN
  1. Number(문자열 or 불리언형)
  • 문자열->숫자
    Number("11"); // 11 
    Number("11.55"); // 11.55
    Number("Hello"); // NaN
  • 불리언형->숫자
    Number(true) // 1 
    Number(false) // 0
  1. +(문자열 or 불리언형)
  • 문자열->숫자
    +("11") // 11 
    +11.55" // 11.55 
    +"-11" // -11 
    +"Hello" // NaN
  • 불리언형->숫자
    +true // 1 
    +false // 0
  1. (문자열 or 불리언형) * 1
  • 문자열->숫자
    "11" * 1 // 11 
    "11.55" * 1 // 11.55
    "-11" * 1 // -11 
    "Hello" * 1 // NaN
  • 불리언형->숫자
    (true)*1 // 1
    (false)*1 // 0

3. 타입을 불리언형으로 변환

  1. 숫자형->불리언형
  • Boolean()
    Boolean()함수는 아래의 5가지 경우를 제외하고는 모두 true를 반환한다
    Boolean(0)  //숫자 0
    Boolean(NaN)  //NaN
    Boolean('')  //빈문자열
    Boolean(null)  //null
    Boolean(undefined)  //undefined형
    다른 예시들)
    Boolean(0); // false 
    Boolean(1); // true 
    Boolean(-11.55); // true 
    Boolean(NaN); // false 
    Boolean(Infinity); // true 
    Boolean(-Infinity); // true
  • !!를 사용해서 숫자를 불리언값으로 바꿔줄 수도 있다
    !!(0); // false 
    !!(1); // true 
    !!(-11.55); // true 
    !!(NaN); // false 
    !!(Infinity); // true 
    !!(-Infinity); // true
  1. 문자열->불리언형
  • 빈문자열('')은 false, 나머지는 모두 true.
    Boolean(''); // false
    Boolean(' '); // true
    Boolean('hello'); // true
    Boolean('true'); // true
    Boolean('false'); // true
  • !!
    !! (''); // false
    !! (' '); // true
    !! ('hello'); // true 
    !! ('true'); // true
    !! ('false'); // true
  1. 배열,객체->불리언형
  • 배열, 객체는 모두 true
    Boolean({}); // true (객체) 
    Boolean([]); // true (배열)
  • !!
    !!({}); // true (객체)
    !!([]); // true (배열)
  1. undefined, null -> 불리언형
  • undefined,null은 모두 false
    Boolean(undefined);	// false
    Boolean(null);		// false
  • !!
    !!(undefined);	// false
    !!(null);	// false

4. 자동 형변환

  • JavaScript는 자동으로 자료형을 변환하는 경우가 많다.
    숫자와 문자열을 더할 때 숫자보다는 문자열이 우선시 된다.
    alert('52 + 273');      // 52 + 273
    alert(52 + 273);        // 325
    alert('52' + 273);      // 52273
    alert(52 + '273');      // 52273
    alert('52' + '273');    // 52273
  • 반면, 더하기를 제외한 사칙 연산자숫자형이 우선된다
    alert('52 * 273');      // 52 * 273
    alert(52 * 273);        // 14196
    alert('52' * 273);      // 14196
    alert(52 * '273');      // 14196
    alert('52' * '273');    // 14196

참조: https://curryyou.tistory.com/187?category=898979 [카레유]

profile
개발 공부중

0개의 댓글