자바스크립트 유형 변환
Number()는 숫자로 변환되고, String()은 문자열로 변환되며, Boolean()은 부울 값으로 변환됩니다.
JavaScript 데이터 유형
JavaScript에는 5가지 데이터 유형이 있습니다.
string
숫자
부울
객체
함수
3가지 객체 유형:
객체
날짜
배열
값이 없는 데이터 유형 2개:
null
정의되지 않음
typeof 연산자
typeof 연산자를 사용하여 JavaScript 변수의 데이터 유형을 볼 수 있습니다.
인스턴스
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php.cn</title> </head> <body> <p> typeof 操作符返回变量、对象、函数、表达式的类型。</p> <p id="demo"></p> <script> document.getElementById("demo").innerHTML = typeof "john" + "<br>" + typeof 3.14 + "<br>" + typeof NaN + "<br>" + typeof false + "<br>" + typeof [1,2,3,4] + "<br>" + typeof {name:'john', age:34} + "<br>" + typeof new Date() + "<br>" + typeof function () {} + "<br>" + typeof myCar + "<br>" + typeof null; </script> </body> </html>
인스턴스 실행»
온라인 인스턴스를 보려면 "인스턴스 실행" 버튼을 클릭하세요
참고:
NaN의 데이터 유형은 숫자입니다.
배열(Array)의 데이터 유형은 객체입니다.
date(Date)의 데이터 유형은 object
null의 데이터 유형은 object
정의되지 않은 변수 데이터 유형이 정의되지 않았습니다
객체가 JavaScript Array 또는 JavaScript Date인 경우 둘 다 Object를 반환하므로 typeof를 통해 해당 유형을 판단할 수 없습니다.
생성자 속성
생성자 속성은 모든 JavaScript 변수의 생성자를 반환합니다.
인스턴스
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php.cn</title> </head> <body> <p> constructor 属性返回变量或对象的构造函数。</p> <p id="demo"></p> <script> document.getElementById("demo").innerHTML = "john".constructor + "<br>" + (3.14).constructor + "<br>" + false.constructor + "<br>" + [1,2,3,4].constructor + "<br>" + {name:'john', age:34}.constructor + "<br>" + new Date().constructor + "<br>" + function () {}.constructor; </script> </body> </html>
인스턴스 실행»
온라인 인스턴스를 보려면 "인스턴스 실행" 버튼을 클릭하세요
생성자 속성을 사용하여 객체가 배열인지 확인할 수 있습니다. ("배열" 문자열 포함):
Instance
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php.cn</title> </head> <body> <p>判断是否为数组。</p> <p id="demo"></p> <script> var fruits = ["Banana", "Orange", "Apple", "Mango"]; document.getElementById("demo").innerHTML = isArray(fruits); function isArray(myArray) { return myArray.constructor.toString().indexOf("Array") > -1; } </script> </body> </html>
인스턴스 실행»
"인스턴스 실행"을 클릭합니다. 버튼 온라인 예제 보기
생성자 속성을 사용하여 객체가 날짜인지 확인할 수 있습니다 (문자열 "날짜" 포함):
Instance
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php.cn</title> </head> <body> <p>判断是否为日期。</p> <p id="demo"></p> <script> var myDate = new Date(); document.getElementById("demo").innerHTML = isDate(myDate); function isDate(myDate) { return myDate.constructor.toString().indexOf("Date") > -1; } </script> </body> </html>
인스턴스 실행»
"인스턴스 실행"을 클릭합니다. 버튼 온라인 예시 보기
JavaScript 유형 변환
JavaScript 변수는 새로운 변수나 다른 데이터 유형으로 변환될 수 있습니다.
JavaScript 함수를 사용하여
JavaScript 자체를 통한 자동 변환
숫자를 문자열로 변환
전역 메서드 String()으로 변환 가능 Convert 숫자를 문자열로.
이 방법은 모든 유형의 숫자, 문자, 변수, 표현식에 사용할 수 있습니다.
Instance
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php.cn</title> </head> <body> <p> String() 方法可以将数字转换为字符串。</p> <p id="demo"></p> <script> var x = 123; document.getElementById("demo").innerHTML = String(x) + "<br>" + String(123) + "<br>" + String(100 + 23); </script> </body> </html>
실행 인스턴스 »
온라인 인스턴스를 보려면 "인스턴스 실행" 버튼을 클릭하세요
숫자 메서드 toString()도 동일한 효과를 갖습니다.
인스턴스
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php.cn</title> </head> <body> <p>toString() 方法将数字转换为字符串。</p> <p id="demo"></p> <script> var x = 123; document.getElementById("demo").innerHTML = x.toString() + "<br>" + (123).toString() + "<br>" + (100 + 23).toString(); </script> </body> </html>
인스턴스 실행»
온라인 인스턴스를 보려면 "인스턴스 실행" 버튼을 클릭하세요
숫자 방법 장에서 숫자를 문자열로 변환하는 더 많은 방법을 찾을 수 있습니다.
方法 | 描述 |
---|---|
toExponential() | 把对象的值转换为指数计数法。 |
toFixed() | 把数字转换为字符串,结果的小数点后有指定位数的数字。 |
toPrecision() | 把数字格式化为指定的长度。 |
부울 값을 문자열로 변환
전역 메서드 String()을 사용하면 부울 값을 문자열로 변환할 수 있습니다.
문자열(true) // 반환 "true"
부울 메서드 toString()도 동일한 효과를 갖습니다.
true.toString() // "true"를 반환합니다
날짜를 문자열로 변환
전역 메서드 String()을 사용하면 날짜를 문자열로 변환할 수 있습니다.
날짜 방법toString( )도 같은 효과가 있습니다.
예
Date 메소드 장에서, 날짜를 문자열로 변환하는 더 많은 기능을 볼 수 있습니다:
方法 | 描述 |
---|---|
getDate() | 从 Date 对象返回一个月中的某一天 (1 ~ 31)。 |
getDay() | 从 Date 对象返回一周中的某一天 (0 ~ 6)。 |
getFullYear() | 从 Date 对象以四位数字返回年份。 |
getHours() | 返回 Date 对象的小时 (0 ~ 23)。 |
getMilliseconds() | 返回 Date 对象的毫秒(0 ~ 999)。 |
getMinutes() | 返回 Date 对象的分钟 (0 ~ 59)。 |
getMonth() | 从 Date 对象返回月份 (0 ~ 11)。 |
getSeconds() | 返回 Date 对象的秒数 (0 ~ 59)。 |
getTime() | 返回 1970 年 1 月 1 日至今的毫秒数。 |
문자열을 숫자로 변환
전역 메서드 Number()는 문자열을 숫자로 변환할 수 있습니다.
숫자를 포함하는 문자열(예: "3.14")은 숫자(예: 3.14)로 변환됩니다.
빈 문자열은 0으로 변환됩니다.
다른 문자열은 NaN(숫자 아님)으로 변환됩니다.
숫자(" ") // 0을 반환
숫자("") // 0을 반환
숫자("99 88") // NaN 반환
숫자 방법 장에서 문자열을 숫자로 변환하는 더 많은 방법을 볼 수 있습니다:
方法 | 描述 |
---|---|
parseFloat() | 解析一个字符串,并返回一个浮点数。 |
parseInt() | 解析一个字符串,并返回一个整数。 |
단항 연산자 +
연산자 + 를 사용하여 변수를 숫자로 변환할 수 있습니다:
인스턴스
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php.cn</title> </head> <body> <p> typeof 操作符返回变量或表达式的类型。</p> <button onclick="myFunction()">点我</button> <p id="demo"></p> <script> function myFunction() { var y = "5"; var x = + y; document.getElementById("demo").innerHTML = typeof y + "<br>" + typeof x; } </script> </body> </html>
인스턴스 실행»
온라인 인스턴스를 보려면 "인스턴스 실행" 버튼을 클릭하세요
변수를 변환할 수 없는 경우에도 여전히 숫자여야 하지만 값은 NaN입니다. (숫자 아님):
인스턴스
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php.cn</title> </head> <body> <p> typeof 操作符返回变量或表达式的类型。</p> <button onclick="myFunction()">点我</button> <p id="demo"></p> <script> function myFunction() { var y = "John"; var x = + y; document.getElementById("demo").innerHTML = typeof x + "<br>" + x; } </script> </body> </html>
인스턴스 실행»
"인스턴스 실행" 버튼을 클릭하여 확인하세요. 온라인 인스턴스
부울 값을 숫자로 변환
전역 메서드 Number() 부울 값을 숫자로 변환합니다.
숫자(true) // 1을 반환
날짜를 숫자로 변환
전역 메서드 Number() 날짜를 숫자로 변환합니다.
Number(d) // Return 1404568027739
날짜 방식 getTime()도 동일한 효과를 갖습니다.
d.getTime() // Return 1404568027739
자동 유형 변환
JavaScript가 "잘못된" 데이터 유형에 대해 작업을 시도하면 자동으로 "올바른" 데이터 유형으로 변환됩니다.
다음 출력은 예상한 것과 다릅니다.
"5" + null // "5null"을 반환합니다. null은 "null"로 변환됩니다.
"5" + 1 // "51"을 반환합니다. 1이 "1"로 변환됨
"5" - 1 // 4 반환 "5"는 5로 변환됩니다
자동으로 문자열로 변환
객체나 변수를 출력하려고 하면 JavaScript가 자동으로 변수의 toString() 메서드를 호출합니다. 🎜>
// if myVar = {name:"Fjohn"} // toString 변환 For "[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"
// myvar = false인 경우 // tostring을 "false"로 변환