Pemilihan Tipe JavaScript
- Hal Sebelumnya JS typeof
- Hal Berikutnya Pemecahan JS
Number()
Konversi angka,String()
Konversi string,Boolean()
Konversi nilai boolean.
Tipe Data JavaScript
Ada lima tipe data yang dapat mengandung nilai di JavaScript:
- String (string)
- Angka (number)
- Boolean (boolean)
- Objek (object)
- Fungsi (function)
Terdapat tiga tipe objek:
- Objek (Object)
- Tanggal (Date)
- Array (Array)
Ada dua tipe data yang tidak dapat mengandung nilai:
- null
- undefined
Operator typeof
Anda dapat menggunakan typeof
Operator untuk menentukan tipe data variabel JavaScript.
Contoh
typeof "Bill" // Mengembalikan "string" typeof 3.14 // Mengembalikan "number" typeof NaN // Mengembalikan "number" typeof false // 返回 "boolean" typeof [1,2,3,4] // 返回 "object" typeof {name:'Bill', age:62} // 返回 "object" typeof new Date() // 返回 "object" typeof function () {} // 返回 "function" typeof myCar // 返回 "undefined" * typeof null // 返回 "object"
请注意:
- NaN 的数据类型是数值
- 数组的数据类型是对象
- 日期的数据类型是对象
- null 的数据类型是对象
- 未定义变量的数据类型是 undefined
- 尚未赋值的变量的数据类型也是 undefined
您无法使用 typeof
去判断 JavaScript 对象是否是数组(或日期)。
typeof 的数据类型
typeof
运算符不是变量。它属于运算符。运算符(比如 +
-
*
/
)没有数据类型。
但是,typeof
始终会返回字符串(包含运算数的类型)。
constructor 属性
constructor
属性返回所有 JavaScript 变量的构造器函数。
Contoh
"Bill".constructor // 返回 "function String() { [native code] }" (3.14).constructor // 返回 "function Number() { [native code] }" false.constructor // 返回 "function Boolean() { [native code] }" [1,2,3,4].constructor // 返回 "function Array() { [native code] }" {name:'Bill', age:62}.constructor // 返回" function Object() { [native code] }" new Date().constructor // Mengembalikan "function Date() { [native code] }" function () {}.constructor // Mengembalikan "function Function(){ [native code] }"
Anda dapat memeriksa constructor
properti untuk menentukan apakah objek adalah array (termasuk kata "Array"):
Contoh
function isArray(myArray) { return myArray.constructor.toString().indexOf("Array") > -1; }
atau lebih mudah, Anda dapat memeriksa apakah objek adalah fungsi array:
Contoh
function isArray(myArray) { return myArray.constructor === Array; }
Anda dapat memeriksa constructor
properti untuk menentukan apakah objek adalah tanggal (termasuk kata "Date"):
Contoh
function isDate(myDate) { return myDate.constructor.toString().indexOf("Date") > -1; }
atau lebih mudah, Anda dapat memeriksa apakah objek adalah fungsi tanggal:
Contoh
function isDate(myDate) { return myDate.constructor === Date; }
Pemilihan Tipe JavaScript
Variabel JavaScript dapat diubah menjadi variabel baru serta tipe data lainnya:
- Dengan menggunakan fungsi JavaScript
- Dengan JavaScript sendiriOtomatisKonversi
Mengkonversi nilai ke string
Metode global String()
Dapat mengkonversi angka ke string.
Dapat digunakan untuk semua tipe angka, teks, variabel, atau ekspresi:
Contoh
String(x) // Mengembalikan string dari variabel angka x String(123) // Mengembalikan string dari teks angka 123 String(100 + 23) // Mengembalikan string dari angka dalam ekspresi
Metode bilangan toString()
Dengan demikian.
Contoh
x.toString() (123).toString() (100 + 23).toString()
PadaMetode bilanganDi bab ini, Anda akan belajar lebih banyak tentang metode yang dapat digunakan untuk mengkonversi angka ke string:
Metode | Deskripsi |
---|---|
toExponential() | Mengembalikan string, mengurangi angka dan menulis dengan sistem bilangan eksponensial. |
toFixed() | Mengembalikan string, mengurangi angka dan menulis dengan desimal yang ditentukan. |
toPrecision() | Mengembalikan string, menulis angka dengan panjang yang ditentukan. |
Mengubah boolean menjadi string
Metode global String()
Dapat mengubah boolean menjadi string.
String(false) // Mengembalikan "false" String(true) // Mengembalikan "true"
Metode boolean toString()
Dengan demikian.
false.toString() // Mengembalikan "false" true.toString() // Mengembalikan "true"
Mengubah tanggal menjadi string
Metode global String()
Dapat diubah menjadi string.
String(Date())
Metode tanggal toString()
Dengan demikian.
Contoh
Date().toString()
PadaMetode tanggalDalam bab ini, Anda akan menemukan lebih banyak metode yang dapat digunakan untuk mengubah tanggal menjadi string:
Metode | Deskripsi |
---|---|
getDate() | Dapatkan tanggal dalam bentuk angka (1-31) |
getDay() | atau minggu dalam bentuk angka (0-6) |
getFullYear() | Dapatkan tahun empat digit (yyyy) |
getHours() | Dapatkan jam (0-23) |
getMilliseconds() | Dapatkan mili detik (0-999) |
getMinutes() | Dapatkan menit (0-59) |
getMonth() | Dapatkan bulan (0-11) |
getSeconds() | Dapatkan detik (0-59) |
getTime() | Dapatkan waktu (mili detik sejak 1 Januari 1970) |
Mengubah string menjadi angka
Metode global Number()
Dapat mengubah string menjadi bilangan
String yang mengandung angka (seperti "3.14") diubah menjadi bilangan (seperti 3.14).
String kosong diubah menjadi 0。
String lain akan diubah menjadi NaN
(Tidak adalah angka,tidak angka)。
Number("3.14") // Mengembalikan 3.14 Number(" ") // Mengembalikan 0 Number("") // Mengembalikan 0 Number("99 88") // Mengembalikan NaN
PadaMetode bilanganDalam bab ini, Anda akan menemukan lebih banyak metode yang dapat digunakan untuk mengubah string menjadi bilangan:
Metode | Deskripsi |
---|---|
parseFloat() | Menguraikan string dan mengembalikan bilangan pecahan. |
parseInt() | Menguraikan string dan mengembalikan bilangan bulat. |
Operator unary +
Unary +
OperatorDapat digunakan untuk mengubah variabel menjadi angka:
Contoh
var y = "5"; // y adalah string var x = + y; // x adalah angka
Jika variabel tidak dapat diubah, masih akan menjadi angka, tetapi nilai NaN
(Tidak adalah angka):
Contoh
var y = "Bill"; // y adalah string var x = + y; // x adalah angka (NaN)
Mengubah boolean menjadi angka
Metode global Number()
Juga dapat mengubah boolean menjadi angka.
Number(false) // kembali 0 Number(true) // kembali 1
Mengubah tanggal menjadi angka
Metode global Number()
Dapat digunakan untuk mengubah tanggal menjadi angka.
d = new Date(); Number(d)
Metode tanggal getTime()
Dengan demikian.
d = new Date(); d.getTime()
Konversi jenis data otomatis
Jika JavaScript mencoba mengoperasikan jenis data "keliru", dia akan mencoba mengubah nilai menjadi jenis data "benar".
Hasilnya tidak selalu seperti yang diharapkan:
5 + null // kembali 5 karena null diubah menjadi 0 "5" + null // kembali "5null" karena null diubah menjadi "null" "5" + 2 // kembali 52 karena 2 diubah menjadi "2" "5" - 2 // kembali 3 karena "5" diubah menjadi 5 "5" * "2" // kembali 10 karena "5" dan "2" diubah menjadi 5 dan 2
Konversi string otomatis
JavaScript secara otomatis memanggil konversi string variabel toString()
Fungsi, ketika Anda mencoba "menyampaikan" objek atau variabel:
document.getElementById("demo").innerHTML = myVar; // jika myVar = {name:"Fjohn"} // toString berubah menjadi "[object Object]" // jika myVar = [1,2,3,4] // toString berubah menjadi "1,2,3,4" // jika myVar = new Date() // toString berubah menjadi ""
Angka dan boolean juga akan diubah, tetapi tidak jelas:
// jika myVar = 123 // toString berubah menjadi "123" // jika myVar = true // toString berubah menjadi "true" // jika myVar = false // toString berubah menjadi "false"
Tabel Konversi Tipe JavaScript
Tabel di bawah ini menampilkan hasil konversi nilai JavaScript yang berbeda ke bilangan, string, dan boolean:
Nilai Asli | Konversi Numerik | Konversi String | Konversi Logis | Coba Sendiri |
---|---|---|---|---|
false | 0 | "false" | false | Coba Sendiri |
true | 1 | "true" | true | Coba Sendiri |
0 | 0 | "0" | false | Coba Sendiri |
1 | 1 | "1" | true | Coba Sendiri |
"0" | 0 | "0" | true |
Coba Sendiri |
"000" | 0 | "000" | true |
Coba Sendiri |
"1" | 1 | "1" | true | Coba Sendiri |
NaN | NaN | "NaN" | false | Coba Sendiri |
Infinity | Infinity | "Infinity" | true | Coba Sendiri |
-Infinity | -Infinity | "-Infinity" | true | Coba Sendiri |
"" | 0 |
"" | false |
Coba Sendiri |
"20" | 20 | "20" | true | Coba Sendiri |
"twenty" | NaN | "twenty" | true | Coba Sendiri |
[ ] | 0 |
"" | true | Coba Sendiri |
[20] | 20 |
"20" | true | Coba Sendiri |
[10,20] | NaN | "10,20" | true | Coba Sendiri |
["twenty"] | NaN | "twenty" | true | Coba Sendiri |
["ten","twenty"] | NaN | "ten,twenty" | true | Coba Sendiri |
function(){} | NaN | "function(){}" | true | Coba Sendiri |
{ } | NaN | "[object Object]" | true | Coba Sendiri |
null | 0 |
"null" | false | Coba Sendiri |
undefined | NaN | "undefined" | false | Coba Sendiri |
Nilai di kutip menunjukkan nilai string.
Nilai merahMenunjukkan nilai yang mungkin tidak diinginkan para pendeta program.
- Hal Sebelumnya JS typeof
- Hal Berikutnya Pemecahan JS