Seperti yang kita ketahui, JavaScript ialah bahasa yang ditaip secara dinamik, yang kadangkala boleh mengelirukan kita apabila berurusan dengan nilai kosong atau tidak wujud. Dalam catatan blog ini, kami akan meneroka perbezaan antara rentetan null, undefined, kosong dan tatasusunan kosong dalam JavaScript, dengan contoh kod untuk menggambarkan setiap konsep.
null ialah bukan nilai yang disengajakan. Ia mewakili pembolehubah yang telah ditakrifkan secara eksplisit sebagai mempunyai tiada nilai.
let myVariable = null; console.log(myVariable); // Output: null console.log(typeof myVariable); // Output: "object"
Nota: jenis objek pengembalian null, yang merupakan kebiasaan yang diketahui dalam JavaScript atas sebab warisan.
undefined mewakili pembolehubah yang telah diisytiharkan tetapi belum diberikan nilai lagi.
let myUndefinedVariable; console.log(myUndefinedVariable); // Output: undefined console.log(typeof myUndefinedVariable); // Output: "undefined" function myFunction(param) { console.log(param); } myFunction(); // Output: undefined
Rentetan kosong ialah rentetan yang sah dengan panjang sifar.
let emptyString = ''; console.log(emptyString); // Output: "" console.log(typeof emptyString); // Output: "string" console.log(emptyString.length); // Output: 0
Tatasusunan kosong ialah senarai tanpa unsur.
let emptyArray = []; console.log(emptyArray); // Output: [] console.log(typeof emptyArray); // Output: "object" console.log(Array.isArray(emptyArray)); // Output: true console.log(emptyArray.length); // Output: 0
Jom bandingkan pelbagai jenis ini:
console.log(null == undefined); // Output: true console.log(null === undefined); // Output: false console.log('' == null); // Output: false console.log('' == undefined); // Output: false console.log([] == null); // Output: false console.log([] == undefined); // Output: false console.log(Boolean(null)); // Output: false console.log(Boolean(undefined)); // Output: false console.log(Boolean('')); // Output: false console.log(Boolean([])); // Output: true
function isNullOrUndefined(value) { return value == null; } console.log(isNullOrUndefined(null)); // Output: true console.log(isNullOrUndefined(undefined)); // Output: true console.log(isNullOrUndefined('')); // Output: false console.log(isNullOrUndefined([])); // Output: false
function isEmpty(value) { if (typeof value === 'string') { return value.length === 0; } if (Array.isArray(value)) { return value.length === 0; } return false; } console.log(isEmpty('')); // Output: true console.log(isEmpty([])); // Output: true console.log(isEmpty('hello')); // Output: false console.log(isEmpty([1, 2, 3])); // Output: false
Memahami perbezaan antara rentetan null, undefined, kosong dan tatasusunan kosong adalah penting untuk menulis kod JavaScript yang bersih dan bebas pepijat. Setiap satu mempunyai kes penggunaannya dan berkelakuan berbeza dalam perbandingan dan semakan jenis. Dengan menggunakan nilai ini dengan betul dan mengetahui nuansanya, anda boleh menulis aplikasi JavaScript yang lebih mantap dan boleh diselenggara.
Ingat untuk sentiasa mempertimbangkan konteks aplikasi anda apabila memutuskan yang mana antara ini untuk digunakan dan konsisten dalam pendekatan anda di seluruh pangkalan kod anda.
Atas ialah kandungan terperinci Menyahkod JavaScript: Menguasai Nilai Null, Undefined dan Kosong. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!