본문 바로가기
JavaScript

[JavaScript] 자료형 변환

by 걸어가는 신사 2021. 10. 27.

1. 강제 자료형 변환

함수 설명
Number() 숫자로 자료형 변환
String() 문자열로 자료형 변환
Boolean() 불로 자료형 변환

(1) Number() 함수

  • 숫자로 자료형 변환
console.log(Number("52"))            // 52
console.log(Number("52.273"))        // 52.273
console.log(Number(true))            // 1
console.log(Number(false))           // 0
console.log(Number("안녕하세요"))     // NaN
let number = Number("안녕하세요")     
console.log(typeof(number))          // number

(2) NaN (Not a Number)

  • '숫자로 변환할 수 없는 문자열'을 Number() 함수로 변환하면 'NaN'을 출력
  • NaN(Not a Number)은 '숫자 자료형이지만 숫자가 아닌 것'을 의미
    • NaN의 자료형은 number
  • NaN의 특징
    • NaN은 무조건적으로 다름 (NaN끼리 비교할 경우 주의)
    • NaN인지 확인할 때는 isNaN() 함수를 사용
let nan = Number("안녕하세요")
console.log(nan == nan)           // false
console.log(nan != nan)           // true
console.log(isNaN(nan))           // true

(3) Boolean() 함수

  • Boolean() 함수를 사용하면 5개의 요소는 false로 변환
    • 0, NaN, ""[빈 문자열], null, undefined
    • 5개를 제외한 나머지는 모두 true
let nan = Number("안녕하세요");
let undefinedVariable;

console.log(Boolean(0))                     // false
console.log(Boolean(nan))                   // false
console.log(Boolean(""))                    // false
console.log(Boolean(null))                  // false
console.log(Boolean(undefinedVariable))     // false

 

2. 자동 자료형 변환

(1) 숫자와 문자열 자료형 자동 변환

  • 숫자와 문자열에 '+' 연산자를 적용하면 자동으로 숫자가 문자열로 변환
console.log(52 + 273)           // 325
console.log("52" + 273)         // 52273
console.log(52 + "273")         // 52273
console.log("52" + "273")       // 52273

(2) 숫자 자료형 자동 변환

  • 이항 연산자가 아닌 단항 연산자 '+'의 경우 숫자로 변환 (Number() 함수와 같은 결과)
const x = 1;
const y = -1;
console.log(+x)             // 1
console.log(+y)             // -1
console.log(+'')            // 0
console.log(+true)          // 1
console.log(+false)         // 0
console.log(+'hello')       // NaN

(3) 불 자료형 자동 변환

  • ! 연산자 두 번 사용해 Bool 자료형으로 변환 (Boolean() 함수와 같은 결과)
let nan = Number("안녕하세요")
let undefindedVariable

console.log(!!0)                       // false
console.log(!!nan)                     // false
console.log(!!"")                      // false
console.log(!!null)                    // false
console.log(!!undefindedVariable)      // false
반응형

'JavaScript' 카테고리의 다른 글

[JavaScript] 조건문  (0) 2021.10.27
[JavaScript] 자료형  (0) 2021.10.27
[JavaScript] JavaScript 기초  (0) 2021.10.27

댓글