JavaScript 형변환

Yoon·2024년 1월 27일

형변환

  • String() -> 문자형으로 변환
  • Number() -> 숫자형으로 변환
  • Boolean() -> 논리형으로 변환

const mathScore = 90;
const engScore = 80;
const result = (mathScore + engScore) / 2;

console.log(result)
  • 일반적으로 숫자형과 숫자형을 입력하면 숫자형 값이 나온다

결과값 = 85

const mathScore = prompt("수학 몇점?");
const engScore = prompt("영어 몇점?");
const result = (mathScore + engScore) / 2;
  • prompt로 입력받은 값 -> 문자형
  • 수학 90점, 영어 80점을 입력할 경우 문자열 "90", "80"으로 인식

결과값 = "4540"

  • 나누기(/)는 자동 형변환(자동 숫자형 변환)
  • 나누기는 명시적 형변환이다

    명시적 형변환은 의도를 가지고 입력하지 않아도 자동으로 변환하기 때문에 의도치않게 에러를 발생시킬 수 있다


String

  • 괄호 안에 타입을 자동으로 문자형으로 바꿔줌
console.log(
String(3),
String(true),
String(false),
String(null),
String(undefined),
)

결과값 = "3" "true" "false" "null" "undefined"

Number

  • 괄호 안에 타입을 자동으로 숫자형으로 바꿔줌
console.log(
Number("1234")
)

결과값 = 1234

console.log(
Number("1234dasfdsa")
)

결과값 = NaN

console.log(
Number(true),
Number(false)

결과값 = 1 0

💡 주의사항

Number(null) // 0
Number(undefined) // NaN 

Number(0) // false 
Number('0') // true 

Number('') // false 
Number(' ') // true 

Boolean

  • 논리형으로 변환
  • 숫자 0, 빈 문자열 ", null, undefined, NaN -> false로 변환 (그 이외 true)
console.log(
Boolean(1),
Boolean(123),
Boolean("javascript"),
)

결과값 = true true true

console.log(
Boolean(0),
Boolean(""),
Boolean(null),
Boolean(undefined),
Boolean(NaN)
)

결과값 = false false false false false

0개의 댓글