Pemilihan Tipe JavaScript

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"

Coba sendiri

请注意:

  • 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] }"

Coba sendiri

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;
}

Coba sendiri

atau lebih mudah, Anda dapat memeriksa apakah objek adalah fungsi array:

Contoh

function isArray(myArray) {
    return myArray.constructor === Array;
}

Coba sendiri

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;
}

Coba sendiri

atau lebih mudah, Anda dapat memeriksa apakah objek adalah fungsi tanggal:

Contoh

function isDate(myDate) {
    return myDate.constructor === Date;
}

Coba sendiri

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

Coba sendiri

Metode bilangan toString() Dengan demikian.

Contoh

x.toString()
(123).toString()
(100 + 23).toString()

Coba sendiri

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

Coba sendiri

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)

Coba sendiri

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

Coba sendiri

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.