typeof JavaScript

typeof JavaScript

Ada 5 tipe data yang dapat mengandung nilai yang berbeda di JavaScript:

  • string
  • number
  • boolean
  • object
  • function

Ada 6 tipe objek:

  • Object
  • Date
  • Array
  • String
  • Number
  • Boolean

dan 2 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                  // Mengembalikan "boolean"
typeof [1,2,3,4]              // Mengembalikan "object"
typeof {name:'Bill', age:19}  // Mengembalikan "object"
typeof new Date()             // Mengembalikan "object"
typeof function () {}         // Mengembalikan "function"
typeof myCar                  // Mengembalikan "undefined" *
typeof null                   // Mengembalikan "object"

Coba Sendiri

Perhatian:

  • Tipe data NaN adalah bilangan
  • Tipe data array adalah objek
  • Tipe data tanggal adalah objek
  • Tipe data null adalah object
  • Tipe data variabel yang belum didefinisikan adalah undefined *
  • Tipe data variabel yang belum diset nilai adalah undefined *

Anda tidak dapat menggunakan typeof untuk menentukan apakah objek JavaScript adalah array (atau tanggal).

Tanggal asli

Nilai data asli adalah nilai data sederhana tanpa atribut dan metode yang disambungkan.

typeof Operator dapat mengembalikan salah satu tipe data asli berikut:

  • string
  • number
  • boolean
  • undefined

Contoh

typeof "Bill"              // Mengembalikan "string"
typeof 3.14                // Mengembalikan "number"
typeof true                // Mengembalikan "boolean"
typeof false               // Mengembalikan "boolean"
typeof x                   // Mengembalikan "undefined" (jika x tidak memiliki nilai)

Coba Sendiri

Data kompleks

typeof Operator dapat mengembalikan salah satu dari dua tipe data kompleks:

  • function
  • object

typeof Operator akan mengembalikan "object" untuk objek, array, dan null.

typeof Operator tidak akan mengembalikan "object" untuk function.

Contoh

typeof {name:'Bill', age:19} // Mengembalikan "object"
typeof [1,2,3,4]             // Mengembalikan "object"(tidak "array",perhatikan contoh di bawah)
typeof null                  // Mengembalikan "object"
typeof function myFunc(){}   // Mengembalikan "function"

Coba Sendiri

typeof Operator akan mengembalikan "object" untuk array. "object"karena dalam JavaScript, array adalah objek.

Tipe data typeof

typeof Operator bukan variabel. Ini hanya operator. Operator (+ - * /) tidak memiliki tipe data apapun.

tetapi,typeof Operator selaluMengembalikan string(termasuk tipe operands)。

Properti constructor

constructor Properti mengembalikan konstruktur semua variabel JavaScript.

Contoh

"Bill".constructor                // Mengembalikan function String()  {[kode asli]}
(3.14).constructor                // Mengembalikan function Number()  {[kode asli]}
false.constructor                 // Mengembalikan function Boolean() {[kode asli]}
[1,2,3,4].constructor             // Mengembalikan function Array()   {[native code]}
{name:'Bill',age:19}.constructor  // Mengembalikan function Object()  {[native code]}
new Date().constructor            // Mengembalikan function Date()    {[native code]}
function () {}.constructor        // Mengembalikan function Function(){[native code]}

Coba Sendiri

Anda dapat memeriksa properti constructor untuk menentukan apakah objek adalah array (termasuk "Array" dalam kata ():

Contoh

function isArray(myArray) {
  return myArray.constructor.toString().indexOf("Array") > -1;
}

Coba Sendiri

atau lebih mudah, Anda dapat memeriksa apakah objek adalahFungsi array:

Contoh

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

Coba Sendiri

Anda dapat memeriksa properti constructor untuk menentukan apakah objek adalah tanggal (termasuk "Date" dalam kata ():

Contoh

function isDate(myDate) {
  return myDate.constructor.toString().indexOf("Date") > -1;
}

Coba Sendiri

atau lebih mudah, Anda dapat memeriksa apakah objek adalahFungsi tanggal:

Contoh

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

Coba Sendiri

Undefined

di JavaScript, nilai variabel tanpa nilai adalah undefinedJuga. undefined

Contoh

let car;    // Nilai adalah undefined, tipe juga adalah undefined。

Coba Sendiri

dengan mengatur nilai undefineddapat mengosongkan setiap variabel. Tipe juga akan undefined

Contoh

car = undefined;    // Nilai adalah undefined, tipe juga adalah undefined。

Coba Sendiri

Nilai kosong

Nilai kosong dengan undefined Tidak relevan.

String kosong memiliki nilai yang sah dan tipe.

Contoh

let car = "";    // Nilai adalah "", tipe adalah "string"

Coba Sendiri

Null

di JavaScript null yang artinya 'tidak ada'. Itu seharusnya adalah hal yang tidak ada.

Sayangnya, di JavaScript,null Tipe data adalah sebuah objek.

Anda dapat menganggap itu adalah bug di JavaScripttypeof null Adalah objek. Tipe harus null

Anda dapat mengatur objek ke null Untuk mengosongkan objek:

Contoh

let person = {firstName:"Bill", lastName:"Gates", age:19, eyeColor:"blue"};
person = null;    // Sekarang nilai adalah null, tetapi tipe tetap adalah objek

Coba Sendiri

Anda juga dapat mengosongkan objek dengan mengaturnya ke undefined Untuk mengosongkan objek:

Contoh

let person = {firstName:"Bill", lastName:"Gates", age:19, eyeColor:"blue"};
person = undefined;   // Sekarang nilai dan tipe adalah undefined

Coba Sendiri

Perbedaan antara undefined dan null

undefined dan null Nilai sama tetapi tipe berbeda:

typeof undefined           // undefined
typeof null                // object
null === undefined         // false
null == undefined          // true

Coba Sendiri