JavaScript 변수는 새 변수나 다른 데이터 유형으로 변환될 수 있습니다.
숫자를 문자열로 변환
전역 메서드 String()은 숫자를 문자열로 변환할 수 있습니다.
이 방법은 모든 유형의 숫자, 문자, 변수, 표현식에 사용할 수 있습니다.
예시
String(x) // 将变量 x 转换为字符串并返回 String(123) // 将数字 123 转换为字符串并返回 String(100 + 23) // 将数字表达式转换为字符串并返回
Number 메소드 toString()도 동일한 효과를 갖습니다.
예시
x.toString() (123).toString() (100 + 23).toString()
부울을 문자열로 변환
全局方法 String() 可以将布尔值转换为字符串。 String(false) // 返回 "false" String(true) // 返回 "true" Boolean 方法 toString() 也有相同的效果。 false.toString() // 返回 "false" true.toString() // 返回 "true"
날짜를 문자열로 변환
전역 메서드 String()은 날짜를 문자열로 변환할 수 있습니다.
String(Date()) // 返回 Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)
Date 메소드 toString()도 동일한 효과를 갖습니다.
예시
Date().toString() // 返回 Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)
문자열을 숫자로 변환
전역 메소드 Number()는 문자열을 숫자로 변환할 수 있습니다.
숫자가 포함된 문자열(예: "3.14")은 숫자(예: 3.14)로 변환됩니다.
빈 문자열은 0으로 변환됩니다.
다른 문자열은 NaN(숫자가 아님)으로 변환됩니다.
Number("3.14") // 返回 3.14 Number(" ") // 返回 0 Number("") // 返回 0 Number("99 88") // 返回 NaN
단항 연산자
연산자를 사용하여 변수를 숫자로 변환할 수 있습니다.
예시
var y = "5"; // y 是一个字符串 var x = + y; // x 是一个数字
변수를 변환할 수 없는 경우에도 숫자는 유지되지만 값은 NaN(숫자가 아님)이 됩니다.
예시
var y = "John"; // y 是一个字符串 var x = + y; // x 是一个数字 (NaN)
부울을 숫자로 변환
전역 메서드 Number()는 부울 값을 숫자로 변환합니다.
Number(false) // 返回 0 Number(true) // 返回 1
날짜를 숫자로 변환
전역 메서드 Date()는 날짜를 숫자로 변환합니다.
d = new Date(); Number(d) // 返回 1404568027739
날짜 메소드 getTime()도 동일한 효과를 갖습니다.
d = new Date(); d.getTime() // 返回 1404568027739
자동변환형 타입변환
JavaScript가 "잘못된" 데이터 유형에 대해 작업을 시도하면 자동으로 "올바른" 데이터 유형으로 변환됩니다.
다음 출력은 예상한 것과 다릅니다.
5 + null // 返回 5 because null is converted to 0 "5" + null // 返回"5null" because null is converted to "null" "5" + 1 // 返回 "51" because 1 is converted to "1" "5" - 1 // 返回 4 because "5" is converted to 5
은 자동으로 문자열
으로 변환됩니다.
객체나 변수를 출력하려고 하면 JavaScript가 자동으로 변수의 toString() 메서드를 호출합니다.
document.getElementById("demo").innerHTML = myVar; // if myVar = {name:"Fjohn"} // toString 转换为 "[object Object]" // if myVar = [1,2,3,4] // toString 转换为 "1,2,3,4" // if myVar = new Date() // toString 转换为 "Fri Jul 18 2014 09:08:55 GMT+0200"
숫자와 부울 값도 종종 서로 변환됩니다.
// if myVar = 123 // toString 转换为 "123" // if myVar = true // toString 转换为 "true" // if myVar = false // toString 转换为 "false"