Jadual Kandungan
Konsep nol
1.1 Metafora yang lebih sesuai untuk null
2. Bagaimana untuk mengesan null
Operator jenis
sekali lagi dan cuba dapatkannya daripada Mengakses sifat
4. null 的替代方案
5. null vs undefined
6. 总结
Rumah hujung hadapan web tutorial js Analisis komprehensif null dalam JavaScript

Analisis komprehensif null dalam JavaScript

Sep 13, 2022 pm 05:30 PM
javascript

Artikel ini membawakan anda pengetahuan yang berkaitan tentang javascript adalah jenis primitif, yang bermaksud ia sengaja tidak mengandungi sebarang nilai objek Mari kita lihat semua tentang null dalam JavaScript: Apakah maksudnya , bagaimana untuk mengesannya, perbezaan antara null dan undefined, dan mengapa penggunaan null secara meluas boleh menyebabkan kesukaran penyelenggaraan kod, dsb. Saya harap ia akan membantu semua orang.

Analisis komprehensif null dalam JavaScript

[Cadangan berkaitan: tutorial video javascript, bahagian hadapan web]

JavaScript Di sana ialah dua jenis Jenis: jenis primitif (strings, booleans, numbers, symbols) dan objek

Objek ialah struktur data yang kompleks. Objek JavaScript yang paling mudah ialah objek biasa - koleksi kunci dan nilai yang berkaitan

let myObject = {
  name: 'Eric Cartman'
};
Salin selepas log masuk

tetapi dalam banyak kes, objek tidak boleh dibuat. Dalam kes ini, JavaScript memberikan nilai istimewa null - menunjukkan bahawa objek

let myObject = null;
Salin selepas log masuk

tiada Dalam artikel ini, anda akan belajar tentang JavaScript dalam null Semuanya: apa itu bermakna, cara mengesannya, perbezaan antara null dan undefined, dan mengapa menggunakan banyak null boleh menyukarkan penyelenggaraan kod, dsb.

Konsep nol

JavaScript Spesifikasi mengatakan ini null

null ialah jenis primitif yang dengan sengaja tidak mengandungi sebarang nilai objek

Jika anda melihat null(diberikan kepada pembolehubah atau dikembalikan oleh fungsi), maka sepatutnya terdapat objek pada kedudukan itu, tetapi atas sebab tertentu, objek tidak dicipta

Sebagai contoh, fungsigreetObject() mencipta objek, tetapi ia juga boleh kembali apabila objek tidak boleh dibuat null:

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

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

Apabila parameter rentetan dihantar dalam fungsi di atas, seperti yang dijangkakan, fungsi mengembalikan objek { message: 'Hello, Eric!' }

Walau bagaimanapun, tiada apa yang diluluskan dalam parameter fungsi, fungsi mengembalikan null. Mengembalikan null adalah munasabah kerana parameter who tidak mempunyai nilai, menyebabkan objek greeting tidak dapat dibuat

1.1 Metafora yang lebih sesuai untuk null

Pertimbangkan. satu tentang null Metafora yang lebih sesuai ialah anda boleh memikirkan pembolehubah sebagai kotak. Sama seperti pembolehubah boleh memuatkan objek, kotak boleh memuatkan barang seperti teko dsb.

Tetapi sebaik sahaja anda menerima kotak, bukanya, tiada sesiapa yang melakukan kesilapan dan memberi anda kotak kosong. Kotak itu tidak mengandungi sebarang kandungan, atau dalam erti kata lain, ia mengandungi nilai null

2. Bagaimana untuk mengesan null

Semak null Cara yang baik ialah menggunakan kesaksamaan yang ketat operator < Hasil daripada 🎜>

const missingObject = null;
const existingObject = { message: &#39;Hello!&#39; };

missingObject  === null; // => true
existingObject === null; // => false
Salin selepas log masuk

ialah missingObject === null kerana pembolehubah true mengandungi nilai missingObject. Jika pembolehubah mengandungi nilai bukan nol, seperti objek, hasil ungkapan null ialah existingObject === nullfalse

2.1 null ialah nilai palsu

dan null , 0, ", false, undefined adalah semua nilai palsu. Jika ia ditemui dalam pernyataan bersyarat, maka NaN akan memaksanya untuk JavaScriptfalse

Boolean(null); // => false

if (null) {
  console.log(&#39;null is truthy&#39;);
} else {
  console.log(&#39;null is falsy&#39;); // logs &#39;null is falsy&#39;
}
Salin selepas log masuk
2.2 jenis null

Operator jenis

boleh menentukan jenis nilai Contohnya, jenis 15 ialah typeof value dan number bersamaan dengan typeof { prop: &#39;Value&#39; }object jenis nilai ialah Apakah hasil

nulljenis null; // => ternyata

adalah seperti
adalah pepijat pada awal

pelaksanaan

Jangan gunakan operator

untuk mengesan nilai object Seperti yang dinyatakan sebelum ini, gunakan operator kesaksamaan yang ketat typoef nullobject<. 🎜>Jika anda ingin menggunakan JavaScript untuk menyemak sama ada pembolehubah ialah objek, anda mesti mengecualikan kes

typeofnull3 nullmyVar === null

Ini biasanya berlaku secara tidak dijangka apabila anda ingin menggunakan objek Kemudian jika anda cuba mengekstrak harta daripada typeof, null akan membuang ralat

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

isObject({ prop: &#39;Value&#39; }); // => true
isObject(15);                // => false
isObject(null);              // => false
Salin selepas log masuk
Mari gunakan. fungsi

sekali lagi dan cuba dapatkannya daripada Mengakses sifat

dalam objek yang dikembalikan TypeError

null Anda boleh mengendalikannya dengan menggunakan operator rantaian pilihan nullJavaScript

atau menggunakan dua alternatif yang diterangkan dalam bahagian seterusnya.

4. null 的替代方案

当你不能构造一个对象时,很容易返回 null。但这种做法也有缺点

一旦 null 出现在执行堆栈中,你总是必须检查它

我们尽量避免返回 null

  • 返回默认对象而不是 null
  • 抛出错误而不是返回 null

让我们回忆一下 greetObject() 函数返回 greeting 对象

当缺少参数时,可以返回一个默认对象,而不是返回 null

function greetObject(who) {
  if (!who) {
    who = &#39;Stranger&#39;;
  }
  return { message: `Hello, ${who}!` };
}

greetObject(&#39;Eric&#39;); // => { message: &#39;Hello, Eric!&#39; }
greetObject();       // => { message: &#39;Hello, Stranger!&#39; }
Salin selepas log masuk

或者抛出一个错误

function greetObject(who) {
  if (!who) {
    throw new Error(&#39;"who" argument is missing&#39;);
  }
  return { message: `Hello, ${who}!` };
}

greetObject(&#39;Eric&#39;); // => { message: &#39;Hello, Eric!&#39; }
greetObject();       // => throws an error
Salin selepas log masuk

这些实践可以让你完全避免处理 null

5. null vs undefined

undefined 就是未初始化的变量或对象属性的值

例如,如果在声明变量时没有赋初值,那么访问该变量的结果为 undefined

let myVariable;

myVariable; // => undefined
Salin selepas log masuk

nullundefined 之间的主要区别是,null 表示丢失了的对象,而 undefined 表示未初始化的状态

严格相等运算符 === 区分 nullundefined

null === undefined; // => false
Salin selepas log masuk

而松散相等运算符 == 则认为 nullundefined 相等

null == undefined; // => true
Salin selepas log masuk

我使用松散相等运算符检查变量是否为 nullundefined

function isEmpty(value) {
  return value == null;
}

isEmpty(42);                // => false
isEmpty({ prop: &#39;Value&#39; }); // => false
isEmpty(null);              // => true
isEmpty(undefined);         // => true
Salin selepas log masuk

6. 总结

nullJavaScript 中的一个特殊值,表示丢失的对象

严格相等运算符判断变量是否为空: variable === null

typoef 操作符用于确定变量的类型(number, string, boolean)。但是,typeofnull 情况下会引起误解: typeof null 结果为 object

nullundefined 在某种程度上是等价的,但null 表示一个丢失的对象,而 undefined 表示未初始化状态

尽可能避免返回 null 或将变量设置为 null。因为这种做法会导致 null 值的扩展和需要对 null 的验证。相反,尝试使用具有默认属性的对象,或者甚至抛出错误会是更好的实践

你会使用什么方法来检查 null?

【相关推荐:javascript视频教程web前端

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

Kenyataan Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk melaksanakan sistem pengecaman pertuturan dalam talian menggunakan WebSocket dan JavaScript Bagaimana untuk melaksanakan sistem pengecaman pertuturan dalam talian menggunakan WebSocket dan JavaScript Dec 17, 2023 pm 02:54 PM

Cara menggunakan WebSocket dan JavaScript untuk melaksanakan sistem pengecaman pertuturan dalam talian Pengenalan: Dengan perkembangan teknologi yang berterusan, teknologi pengecaman pertuturan telah menjadi bahagian penting dalam bidang kecerdasan buatan. Sistem pengecaman pertuturan dalam talian berdasarkan WebSocket dan JavaScript mempunyai ciri kependaman rendah, masa nyata dan platform merentas, dan telah menjadi penyelesaian yang digunakan secara meluas. Artikel ini akan memperkenalkan cara menggunakan WebSocket dan JavaScript untuk melaksanakan sistem pengecaman pertuturan dalam talian.

WebSocket dan JavaScript: teknologi utama untuk melaksanakan sistem pemantauan masa nyata WebSocket dan JavaScript: teknologi utama untuk melaksanakan sistem pemantauan masa nyata Dec 17, 2023 pm 05:30 PM

WebSocket dan JavaScript: Teknologi utama untuk merealisasikan sistem pemantauan masa nyata Pengenalan: Dengan perkembangan pesat teknologi Internet, sistem pemantauan masa nyata telah digunakan secara meluas dalam pelbagai bidang. Salah satu teknologi utama untuk mencapai pemantauan masa nyata ialah gabungan WebSocket dan JavaScript. Artikel ini akan memperkenalkan aplikasi WebSocket dan JavaScript dalam sistem pemantauan masa nyata, memberikan contoh kod dan menerangkan prinsip pelaksanaannya secara terperinci. 1. Teknologi WebSocket

Bagaimana untuk melaksanakan sistem tempahan dalam talian menggunakan WebSocket dan JavaScript Bagaimana untuk melaksanakan sistem tempahan dalam talian menggunakan WebSocket dan JavaScript Dec 17, 2023 am 09:39 AM

Cara menggunakan WebSocket dan JavaScript untuk melaksanakan sistem tempahan dalam talian Dalam era digital hari ini, semakin banyak perniagaan dan perkhidmatan perlu menyediakan fungsi tempahan dalam talian. Adalah penting untuk melaksanakan sistem tempahan dalam talian yang cekap dan masa nyata. Artikel ini akan memperkenalkan cara menggunakan WebSocket dan JavaScript untuk melaksanakan sistem tempahan dalam talian dan memberikan contoh kod khusus. 1. Apakah itu WebSocket? WebSocket ialah kaedah dupleks penuh pada sambungan TCP tunggal.

Cara menggunakan JavaScript dan WebSocket untuk melaksanakan sistem pesanan dalam talian masa nyata Cara menggunakan JavaScript dan WebSocket untuk melaksanakan sistem pesanan dalam talian masa nyata Dec 17, 2023 pm 12:09 PM

Pengenalan kepada cara menggunakan JavaScript dan WebSocket untuk melaksanakan sistem pesanan dalam talian masa nyata: Dengan populariti Internet dan kemajuan teknologi, semakin banyak restoran telah mula menyediakan perkhidmatan pesanan dalam talian. Untuk melaksanakan sistem pesanan dalam talian masa nyata, kami boleh menggunakan teknologi JavaScript dan WebSocket. WebSocket ialah protokol komunikasi dupleks penuh berdasarkan protokol TCP, yang boleh merealisasikan komunikasi dua hala masa nyata antara pelanggan dan pelayan. Dalam sistem pesanan dalam talian masa nyata, apabila pengguna memilih hidangan dan membuat pesanan

JavaScript dan WebSocket: Membina sistem ramalan cuaca masa nyata yang cekap JavaScript dan WebSocket: Membina sistem ramalan cuaca masa nyata yang cekap Dec 17, 2023 pm 05:13 PM

JavaScript dan WebSocket: Membina sistem ramalan cuaca masa nyata yang cekap Pengenalan: Hari ini, ketepatan ramalan cuaca sangat penting kepada kehidupan harian dan membuat keputusan. Apabila teknologi berkembang, kami boleh menyediakan ramalan cuaca yang lebih tepat dan boleh dipercayai dengan mendapatkan data cuaca dalam masa nyata. Dalam artikel ini, kita akan mempelajari cara menggunakan teknologi JavaScript dan WebSocket untuk membina sistem ramalan cuaca masa nyata yang cekap. Artikel ini akan menunjukkan proses pelaksanaan melalui contoh kod tertentu. Kami

Tutorial JavaScript Mudah: Cara Mendapatkan Kod Status HTTP Tutorial JavaScript Mudah: Cara Mendapatkan Kod Status HTTP Jan 05, 2024 pm 06:08 PM

Tutorial JavaScript: Bagaimana untuk mendapatkan kod status HTTP, contoh kod khusus diperlukan: Dalam pembangunan web, interaksi data dengan pelayan sering terlibat. Apabila berkomunikasi dengan pelayan, kami selalunya perlu mendapatkan kod status HTTP yang dikembalikan untuk menentukan sama ada operasi itu berjaya dan melaksanakan pemprosesan yang sepadan berdasarkan kod status yang berbeza. Artikel ini akan mengajar anda cara menggunakan JavaScript untuk mendapatkan kod status HTTP dan menyediakan beberapa contoh kod praktikal. Menggunakan XMLHttpRequest

Bagaimana untuk menggunakan insertBefore dalam javascript Bagaimana untuk menggunakan insertBefore dalam javascript Nov 24, 2023 am 11:56 AM

Penggunaan: Dalam JavaScript, kaedah insertBefore() digunakan untuk memasukkan nod baharu dalam pepohon DOM. Kaedah ini memerlukan dua parameter: nod baharu untuk dimasukkan dan nod rujukan (iaitu nod di mana nod baharu akan dimasukkan).

Bagaimana untuk mendapatkan kod status HTTP dalam JavaScript dengan cara yang mudah Bagaimana untuk mendapatkan kod status HTTP dalam JavaScript dengan cara yang mudah Jan 05, 2024 pm 01:37 PM

Pengenalan kepada kaedah mendapatkan kod status HTTP dalam JavaScript: Dalam pembangunan bahagian hadapan, kita selalunya perlu berurusan dengan interaksi dengan antara muka bahagian belakang, dan kod status HTTP adalah bahagian yang sangat penting daripadanya. Memahami dan mendapatkan kod status HTTP membantu kami mengendalikan data yang dikembalikan oleh antara muka dengan lebih baik. Artikel ini akan memperkenalkan cara menggunakan JavaScript untuk mendapatkan kod status HTTP dan memberikan contoh kod khusus. 1. Apakah kod status HTTP bermakna kod status HTTP apabila penyemak imbas memulakan permintaan kepada pelayan, perkhidmatan tersebut

See all articles