<JS> Type 변환시키기

Bitnara Lee·2021년 4월 11일
0

X to string

숫자나 불리언을 문자열로 형변환하는 방법은 3가지 정도다.

1) (숫자 or 불리언).toString()

2) String(숫자 or 불리언)

3) "" + (숫자 or 불리언)

숫자를 문자열로 변환(number to string)

  1. (숫자).toString()

: Object.prototype.toString 메서드를 활용하는 방법

(111).toString() // "111"
(NaN).toString() // "NaN"
(Infinity).toString() // "Infinity"

  1. String(숫자)

: String 생성자 함수를 new 없이 활용하는 방법

String(111) // "111"
String(NaN) // "NaN"
String(Infinity) // "Infinity"

  1. 숫자 + ""

: 문자열 연결 연산자(+) 활용하는 방법. 따옴표로 감싼 빈 문자열을 더해주면 형변환이 발생한다.

111 + "" // "111"
NaN + "" // "NaN"
"" + Infinity // "Infinity"

  • "" + 숫자 형식, 숫자 + "" 형식 모두 동일하다.

불리언을 문자열로 변환(boolean to string)

  1. toString(불리언)

: Object.prototype.toString 메서드를 활용하는 방법

(true).toString() // "true"
(false).toString() // "false"

  1. String(불리언)

: String 생성자 함수를 new 없이 활용하는 방법

String(true) // "true"
String(false) // "false"

  1. "" + 불리언

: 문자열 연결 연산자(+) 활용하는 방법. 따옴표로 감싼 빈 문자열을 더해주면 형변환이 발생한다.

true + "" // "true"
"" + false // "false"

  • "" + 불리언 형식, 불리언 + "" 형식 모두 동일하다.

▶︎ (참고) undefined, null 타입의 경우, String()이나 "" + 로 문자열 변환이 가능. ( toString() 메서드는 사용 불가 )

▶︎ (참고) 숫자, 불리언은 객체가 아니지만, toString() 메서드를 호출할 수 있다.

X to number

문자열이나 불리언을 숫자로 형변환하는 방법은 4가지 정도다.
1) parseInt(정수 문자열) || parseFloat(실수 문자열)
2) Number(문자열 or 불리언)
3) + (문자열 or 불리언)

4) (문자열 or 불리언) * 1

문자열를 숫자로 변환(string to number)

: "111" 처럼 숫자로 된 문자열만 변환 가능하다. 숫자가 아닌 경우, NaN 반환

  1. parseInt(정수 문자열) || parseFloat(실수 문자열)
    : 소수가 없는 정수는 parseInt(), 소수가 있는 실수는 parseFloat()로 형변환. 값이 문자열인데 첫 번째 문자를 숫자로 변환할 수 없는 경우 NaN을 반환

parseInt("11") // 11
parseFloat("11.55") // 11.55

parseInt("NaN") // NaN
parseFloat("NaN") // NaN

parseInt("Infinity") // Infinity
parseFloat("Infinity") // Infinity

parseInt("Hello") // NaN

  • NaN, Infinity 는 parseInt(), parseFlaot() 둘다 적용 가능
  1. Number(문자열)
    : Number 생성자 함수를 new 없이 활용하는 방법

Number("11"); // 11

Number("11.55"); // 11.55

Number("Hello"); // NaN

  1. +(문자열)
    : 문자열 앞에 + 연산자를 붙여주면, 숫자로 형변환이 된다.
  • ("11") // 11

  • "11.55" // 11.55

  • "-11" // -11

  • "Hello" // NaN

  • 괄호는 상황에 따라 넣으면 된다.
  1. (문자열) * 1

: 문자열에 *연산을 하면, 숫자로 형변환이 된다.

"11" * 1 // 11

"11.55" * 1 // 11.55

"-11" * 1 // -11

"Hello" * 1 // NaN

불리언을 숫자로 변환(boolean to number)

: true → 1, false → 0 으로 변환되며, parseInt(), parseFloat()는 적용 불가하다.

  1. Number(불리언)

: Number 생성자 함수를 new 없이 활용하는 방법

Number(true) // 1

Number(false) // 0

  1. +(불리언)
    : 불리언 앞에 + 연산자를 붙여주면, 숫자로 형변환이 된다.
  • (true) // 1

  • false // 0

  • 괄호는 상황에 따라 넣으면 된다.
  1. (불리언) * 1

: 불리언에 * 연산을 하면, 숫자로 형변환이 된다.

(true) * 1 // 1

false * 1 // 0

  • 괄호는 상황에 따라 넣으면 된다.

불리언으로 타입변환 방법 2가지

숫자, 문자열, 객체 등은 불리언 타입으로 변환 가능하다.

  1. Boolean( 숫자 || 문자열 || 객체 || undefined || null )

: Boolean() 생성자 함수를 new 연산자 없이 호출하여 불리언 타입으로 변환하는 방법

  1. !! ( 숫자 || 문자열 || 객체 || undefined || null )

: 부정 논리연산자(!)를 연달아 두번 사용해서 불리언 타입으로 변환하는 방법

1) number to boolean

: 0, NaN은 false, 나머지는 모두 true.

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

  • !! 사용시, 괄호는 상황에 맞게 사용하면 된다.

2) string to boolean

: 빈문자열('')은 false, 나머지는 모두 true.

Boolean(''); // false
Boolean(' '); // true

Boolean('hello'); // true

Boolean('true'); // true
Boolean('false'); // true

!! (''); // false
!! (' '); // true

!! ('hello'); // true

!! ('true'); // true
!! ('false'); // true

  • 공백도 true인 점 주의!

3) object to boolean

: 배열, 객체는 모두 true

Boolean({}); // true (객체)

Boolean([]); // true (배열)

!!({}); // true (객체)

!!([]); // true (배열)

  • 중괄호 {} 는 객체를 생성할 때, 대괄호 []는 배열을 생성할 때 사용한다.

4) undefined, null to boolean

: undefined, null은 모두 false

Boolean(undefined); // false

Boolean(null); // false

!!(undefined); // false

!!(null); // false

출처: https://curryyou.tistory.com/188 [카레유]

profile
Creative Developer

0개의 댓글