Number() mengkonversi ke nomor satu, String() mengkonversi ke String, Boolean() mengkonversi ke Boolean.
Tipe Data JavaScript
Dalam JavaScript ada 5 jenis data yang berbeda yang dapat berisi nilai-nilai:
- string
- number
- boolean
- object
- function
Ada 3 jenis objek:
- Object
- Date
- Array
Dan jenis 2 data yang tidak dapat berisi nilai-nilai:
- null
- undefined
The typeof Operator
Anda dapat menggunakan typeof operator untuk menemukan jenis data variabel JavaScript.
Contoh
typeof "John"
// Returns string
typeof 3.14
// Returns number
typeof NaN
// Returns number
typeof false
// Returns boolean
typeof [1,2,3,4] // Returns object
typeof {name:'John', age:34}
// Returns object
typeof new Date()
// Returns object
typeof function () {} // Returns function
typeof myCar
// Returns undefined (if myCar is not declared)
typeof null
// Returns object
Cobalah sendiri " Silahkan amati:
- Jenis data NaN adalah nomor
- Tipe data dari suatu array merupakan objek
- Tipe data dari date adalah objek
- Jenis data null adalah objek
- Tipe data dari undefined variabel tidak terdefinisi
Anda tidak dapat menggunakan typeof untuk menentukan apakah objek JavaScript adalah array (atau tanggal).
Data Jenis typeof
The typeof operator adalah bukan variabel. Ini adalah operator. Operator ( + - * / ) tidak memiliki jenis data.
Tapi, yang typeof operator yang selalu mengembalikan string yang berisi jenis operan.
The constructor Properti
The constructor properti mengembalikan fungsi konstruktor untuk semua variabel JavaScript.
Contoh
"John".constructor
// Returns function String() { [native code] }
(3.14).constructor
// Returns function Number() { [native code] }
false.constructor
// Returns function Boolean() { [native code] }
[1,2,3,4].constructor
// Returns function Array() { [native code] }
{name:'John', age:34}.constructor
// Returns function Object() { [native code] }
new Date().constructor
// Returns function Date() { [native code] }
function () {}.constructor
// Returns function Function(){ [native code] }
Cobalah sendiri " Anda dapat memeriksa properti konstruktor untuk mengetahui apakah sebuah objek adalah Array (mengandung kata "Array" ):
Contoh
function isArray(myArray) {
return myArray.constructor.toString().indexOf("Array") > -1;
}
Cobalah sendiri " Anda dapat memeriksa properti konstruktor untuk mengetahui apakah suatu objek Tanggal (mengandung kata "Date" ):
Contoh
function isDate(myDate) {
return myDate.constructor.toString().indexOf("Date") > -1;
}
Cobalah sendiri " Jenis Konversi JavaScript
variabel JavaScript dapat dikonversi ke variabel baru dan tipe data lain:
- Dengan menggunakan fungsi JavaScript
- Secara otomatis oleh JavaScript itu sendiri
Konversi Bilangan untuk Strings
Metode global yang String() dapat mengkonversi nomor ke string.
Hal ini dapat digunakan pada semua jenis nomor, literal, variabel, atau ekspresi:
Contoh
String(x) // returns a string from a number variable x
String(123) // returns a string from a number literal 123
String(100 + 23) // returns a string from a number from an expression
Cobalah sendiri " Metode Nomor toString() melakukan hal yang sama.
Dalam bab Metode Nomor , Anda akan menemukan metode yang lebih yang dapat digunakan untuk mengkonversi angka untuk string:
metode | Deskripsi |
---|---|
toExponential() | Mengembalikan string, dengan sejumlah bulat dan ditulis menggunakan notasi eksponensial. |
toFixed() | Mengembalikan string, dengan sejumlah bulat dan ditulis dengan angka desimal yang ditentukan. |
toPrecision() | Mengembalikan string, dengan sejumlah ditulis dengan panjang tertentu |
Konversi Booleans ke Strings
Metode global yang String() dapat mengkonversi boolean ke string.
String(false) // returns "false"
String(true) // returns "true"
Metode Boolean toString() melakukan hal yang sama.
false.toString() // returns "false"
true.toString() // returns "true"
Konversi Tanggal untuk Strings
Metode global yang String() dapat mengkonversi tanggal untuk string.
String(Date()) // returns Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)
Metode Tanggal toString() melakukan hal yang sama.
Contoh
Date().toString() // returns Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)
Dalam bab Metode Tanggal , Anda akan menemukan metode yang lebih yang dapat digunakan untuk mengkonversi tanggal untuk string:
metode | Deskripsi |
---|---|
getDate() | Dapatkan hari sebagai angka (1-31) |
getDay() | Dapatkan hari kerja nomor (0-6) |
getFullYear() | Dapatkan tahun empat digit (yyyy) |
getHours() | Dapatkan jam (0-23) |
getMilliseconds() | Dapatkan milidetik (0-999) |
getMinutes() | Dapatkan menit (0-59) |
getMonth() | Dapatkan bulan (0-11) |
getSeconds() | Dapatkan detik (0-59) |
getTime() | Dapatkan waktu (milidetik sejak 1 Januari 1970) |
Konversi String ke Numbers
Metode global yang Number() dapat mengkonversi string ke nomor.
String yang berisi nomor (seperti "3.14" ) dikonversi ke nomor (seperti 3.14).
string kosong dikonversi ke 0.
Ada lagi mengkonversi ke NaN (Not nomor).
Number("3.14") // returns 3.14
Number(" ") // returns 0
Number("") // returns 0
Number("99 88") // returns NaN
Dalam bab Metode Nomor , Anda akan menemukan metode yang lebih yang dapat digunakan untuk mengkonversi string ke nomor:
metode | Deskripsi |
---|---|
parseFloat() | Mem-parsing string dan mengembalikan sejumlah floating point |
parseInt() | Mem-parsing string dan mengembalikan integer |
The Unary + Operator
The unary + operator dapat digunakan untuk mengkonversi variabel ke nomor:
Jika variabel tidak dapat dikonversi, masih akan menjadi nomor, tetapi dengan nilai NaN (Not angka):
Konversi Booleans Bilangan
Metode global yang Number() juga dapat mengkonversi boolean ke nomor.
Number(false) // returns 0
Number(true) // returns 1
Konversi Tanggal Bilangan
Metode global yang
d = new Date();
Number(d) // returns 1404568027739
Tanggal metode getTime() melakukan hal yang sama.
d = new Date();
d.getTime() // returns 1404568027739
Jenis Konversi otomatis
Ketika JavaScript mencoba untuk beroperasi pada "salah" tipe data, ia akan mencoba untuk mengkonversi nilai ke tipe "benar".
hasilnya tidak selalu apa yang Anda harapkan:
5 + null // returns 5
because null is converted to 0
"5" + null // returns "5null"
because null is converted to "null"
"5" + 2 // returns
52
because 2 is converted to "2"
"5" - 2 // returns 3
because "5" is converted to 5
"5" * "2" // returns
10 because "5" and "2" are
converted to 5 and 2
Cobalah sendiri " Konversi String otomatis
JavaScript secara otomatis panggilan variabel toString() fungsi ketika Anda mencoba untuk "output" objek atau variabel:
document.getElementById("demo").innerHTML = myVar;
// if myVar = {name:"Fjohn"} // toString converts to "[object Object]"
// if myVar = [1,2,3,4] // toString converts to "1,2,3,4"
// if myVar = new Date() // toString converts to "Fri Jul 18 2014 09:08:55 GMT+0200"
Nomor dan boolean juga diubah, tapi ini tidak terlalu terlihat:
// if myVar = 123 // toString converts to "123"
// if myVar = true // toString converts to "true"
// if myVar = false // toString converts to "false"
JavaScript Jenis Tabel Konversi
Tabel ini menunjukkan hasil konversi nilai JavaScript yang berbeda untuk Number, String, dan Boolean:
Asli Nilai | dikonversi Nomor | dikonversi untuk String | dikonversi untuk Boolean | Cobalah |
---|---|---|---|---|
false | 0 | "false" | false | Cobalah " |
true | 1 | "true" | true | Cobalah " |
0 | 0 | "0" | false | Cobalah " |
1 | 1 | "1" | true | Cobalah " |
"0" | 0 | "0" | true | Cobalah " |
"1" | 1 | "1" | true | Cobalah " |
NaN | NaN | "NaN" | false | Cobalah " |
Infinity | Infinity | "Infinity" | true | Cobalah " |
-Infinity | -Infinity | "-Infinity" | true | Cobalah " |
"" | 0 | "" | false | Cobalah " |
"20" | 20 | "20" | true | Cobalah " |
"twenty" | NaN | "twenty" | true | Cobalah " |
[ ] | 0 | "" | true | Cobalah " |
[20] | 20 | "20" | true | Cobalah " |
[10,20] | NaN | "10,20" | true | Cobalah " |
["twenty"] | NaN | "twenty" | true | Cobalah " |
["ten","twenty"] | NaN | "ten,twenty" | true | Cobalah " |
function(){} | NaN | "function(){}" | true | Cobalah " |
{ } | NaN | "[object Object]" | true | Cobalah " |
null | 0 | "null" | false | Cobalah " |
undefined | NaN | "undefined" | false | Cobalah " |
Nilai-nilai dalam tanda kutip menunjukkan nilai-nilai string.
Nilai merah menunjukkan nilai-nilai (beberapa) programmer mungkin tidak mengharapkan.