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.
[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' };
tetapi dalam banyak kes, objek tidak boleh dibuat. Dalam kes ini, JavaScript
memberikan nilai istimewa null
- menunjukkan bahawa objek
let myObject = null;
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.
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
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
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
Semak null
Cara yang baik ialah menggunakan kesaksamaan yang ketat operator < Hasil daripada 🎜>
const missingObject = null; const existingObject = { message: 'Hello!' }; missingObject === null; // => true existingObject === null; // => false
ialah missingObject === null
kerana pembolehubah true
mengandungi nilai missingObject
. Jika pembolehubah mengandungi nilai bukan nol, seperti objek, hasil ungkapan null
ialah existingObject === null
false
dan null
, 0, ", false
, undefined
adalah semua nilai palsu. Jika ia ditemui dalam pernyataan bersyarat, maka NaN
akan memaksanya untuk JavaScript
false
Boolean(null); // => false if (null) { console.log('null is truthy'); } else { console.log('null is falsy'); // logs 'null is falsy' }
boleh menentukan jenis nilai Contohnya, jenis 15 ialah typeof value
dan number
bersamaan dengan typeof { prop: 'Value' }
object
jenis nilai ialah Apakah hasil
null
jenis null; // => ternyata
adalah pepijat pada awalJangan gunakan operatorpelaksanaan
untuk mengesan nilai object
Seperti yang dinyatakan sebelum ini, gunakan operator kesaksamaan yang ketat typoef null
object
<. 🎜>Jika anda ingin menggunakan JavaScript
untuk menyemak sama ada pembolehubah ialah objek, anda mesti mengecualikan kes
typeof
null
3 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 === 'object' && object !== null; } isObject({ prop: 'Value' }); // => true isObject(15); // => false isObject(null); // => false
null
Anda boleh mengendalikannya dengan menggunakan operator rantaian pilihan null
JavaScript
atau menggunakan dua alternatif yang diterangkan dalam bahagian seterusnya.
当你不能构造一个对象时,很容易返回 null
。但这种做法也有缺点
一旦 null
出现在执行堆栈中,你总是必须检查它
我们尽量避免返回 null
:
null
null
让我们回忆一下 greetObject()
函数返回 greeting
对象
当缺少参数时,可以返回一个默认对象,而不是返回 null
function greetObject(who) { if (!who) { who = 'Stranger'; } return { message: `Hello, ${who}!` }; } greetObject('Eric'); // => { message: 'Hello, Eric!' } greetObject(); // => { message: 'Hello, Stranger!' }
或者抛出一个错误
function greetObject(who) { if (!who) { throw new Error('"who" argument is missing'); } return { message: `Hello, ${who}!` }; } greetObject('Eric'); // => { message: 'Hello, Eric!' } greetObject(); // => throws an error
这些实践可以让你完全避免处理 null
undefined
就是未初始化的变量或对象属性的值
例如,如果在声明变量时没有赋初值,那么访问该变量的结果为 undefined
let myVariable; myVariable; // => undefined
null
和 undefined
之间的主要区别是,null
表示丢失了的对象,而 undefined
表示未初始化的状态
严格相等运算符 === 区分 null
和 undefined
null === undefined; // => false
而松散相等运算符 ==
则认为 null
和 undefined
相等
null == undefined; // => true
我使用松散相等运算符检查变量是否为 null
或 undefined
function isEmpty(value) { return value == null; } isEmpty(42); // => false isEmpty({ prop: 'Value' }); // => false isEmpty(null); // => true isEmpty(undefined); // => true
null
是 JavaScript
中的一个特殊值,表示丢失的对象
严格相等运算符判断变量是否为空: variable === null
。
typoef
操作符用于确定变量的类型(number, string, boolean
)。但是,typeof
在 null
情况下会引起误解: typeof null
结果为 object
null
和 undefined
在某种程度上是等价的,但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!