Rumah  >  Artikel  >  hujung hadapan web  >  Apakah null dalam javascript

Apakah null dalam javascript

藏色散人
藏色散人asal
2021-09-01 14:03:179228semak imbas

null dalam javascript ialah nilai khas yang disediakan oleh JS, menunjukkan objek yang hilang dalam javascript, anda boleh menggunakan operator kesamaan yang ketat untuk menyemak nilai null, dengan pernyataan semak seperti "missingObject === null; ;".

Apakah null dalam javascript

Persekitaran pengendalian artikel ini: sistem Windows 7, versi JavaScript 1.8.5, komputer DELL G3.

Apakah null dalam javascript?

Semuanya tentang null dalam JavaScript

JavaScript mempunyai 2 jenis: jenis asas (rentetan, nombor boolean, simbol) dan objek.
Objek ialah kompleksstruktur data Objek paling mudah dalam JS ialah objek biasa: satu set kunci dan nilai yang berkaitan :

let myObject = {
  name: '前端小智'
}

Tetapi dalam sesetengah kes tidak boleh mencipta objek. Dalam kes ini, JS menyediakan nilai istimewa null — menunjukkan bahawa objek itu tiada.

let myObject = null

1. Konsep null

Nilai null merujuk secara khusus kepada nilai objek yang tidak ditetapkan jenis asas JS dan digunakan dalam operasi Boolean dianggap palsu.

Sebagai contoh, fungsi greetObject() mencipta objek, tetapi juga boleh mengembalikan null apabila objek tidak boleh dibuat:

function greetObject(who) {
  if (!who) {
    return null;
  }
  return { message: `Hello, ${who}!` };
}

greetObject('Eric'); // => { message: 'Hello, Eric!' }
greetObject();       // => null

Walau bagaimanapun, fungsi greetObject dipanggil tanpa argumen (), fungsi mengembalikan null. Mengembalikan null adalah munasabah kerana parameter who tidak mempunyai nilai.

2. Cara menyemak nol

Cara yang baik untuk menyemak nilai null ialah menggunakan pengendali kesaksamaan yang ketat:

const missingObject = null;
const existingObject = { message: 'Hello!' };

missingObject  === null; // => true
existingObject === null; // => false

missingObject === null Hasilnya ialah true kerana pembolehubah missingObject mengandungi nilai null.

Jika pembolehubah mengandungi nilai bukan nol (seperti objek), ungkapan existObject === null dinilai kepada false.

2.1 null ialah nilai khayalan

null dan false、0、''、undefined、NaN kedua-duanya 虚值. Jika nilai khayalan ditemui dalam pernyataan bersyarat, JS akan memaksa nilai khayalan kepada false.

Boolean(null); // => false

if (null) {
  console.log('null is truthy')
} else {
  console.log('null is falsy')
}

2.2 Apakah hasil jenis null

type null

typeof null; // => 'object'

Mengapa objek 'object',typoef null merupakan salah satu pelaksanaan JS awalRalat.

harus menggunakan typeof运算符 untuk mengesan nilai null. Seperti yang dinyatakan sebelum ini, gunakan pengendali sama dengan ketat myVar === null.

Jika kita ingin menggunakan operator typeof untuk menyemak sama ada pembolehubah ialah objek, kita juga perlu mengecualikan nilai null:

function isObject(object) {
  return typeof object === 'object' && object !== null;
}

isObject({ prop: 'Value' }); // => true
isObject(15);                // => false
isObject(null);              // => false

3 null

null sering muncul secara tidak dijangka apabila kita fikir pembolehubah itu ialah objek. Kemudian, jika anda mengekstrak harta daripada null, JS akan membuang ralat.
Jadi apabila anda ingin mendapatkan atribut daripada objek, anda harus memberi perhatian untuk menilai bahawa objek itu mungkin null, jika tidak ralat mungkin berlaku.

[Pembelajaran yang disyorkan: "Tutorial Asas JavaScript"]

4. Alternatif kepada null

Apabila objek tidak boleh dibina Apabila , pendekatan biasa kami ialah mengembalikan null, tetapi pendekatan ini mempunyai kekurangan . Semakan mesti dibuat apabila null muncul dalam timbunan pelaksanaan.

Cuba elakkan daripada kembali null :

  • Kembalikan objek lalai dan bukannya null
  • Baling ralat dan bukannya kembali null

5. null vs undefined >Perbezaan utama antara

dan

ialah undefined mewakili objek yang hilang, manakala mewakili keadaan tidak dimulakan. Petua: Selepas artikel ditulis, jadual kandungan boleh dijana secara automatik Cara menjananya boleh merujuk kepada dokumen bantuan di sebelah kanan
nullundefined

Atas ialah kandungan terperinci Apakah null dalam javascript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn