Cara menggunakan OBJECT.HASOWNPROPERTY di JavaScript

Operator hapus dirancang untuk digunakan pada properti objek. Kata kunci ini tidak berpengaruh pada variabel atau fungsi

Operator hapus tidak dapat digunakan pada properti objek JavaScript yang telah ditentukan sebelumnya. Itu dapat merusak aplikasi Anda

Atribut Properti

Semua properti memiliki nama. Selain itu, mereka juga memiliki nilai

Nilai adalah salah satu atribut properti

Atribut lainnya adalah. dapat dihitung, dikonfigurasi, dan dapat ditulis

Atribut ini menentukan bagaimana properti dapat diakses (apakah dapat dibaca? apakah dapat ditulis?)

Dalam JavaScript, semua atribut dapat dibaca, tetapi hanya atribut nilai yang dapat diubah (dan hanya jika properti dapat ditulis)

(ECMAScript 5 memiliki metode untuk mendapatkan dan mengatur semua atribut properti)

Properti Prototipe

Objek JavaScript mewarisi properti prototipe mereka

Kata kunci delete tidak menghapus properti yang diwariskan, tetapi jika Anda menghapus properti prototipe, ini akan memengaruhi semua objek yang diwarisi dari prototipe

Gunakan Object.keys untuk mendapatkan array yang berisi semua kunci pada objek, lalu hitung panjang array dan bandingkan dengan Nol (0), jika sama maka objek kosong, perhatikan contoh berikut

let obj = {};
function isEmpty(obj) {
  return Object.keys(obj).length === 0;
}

console.log(isEmpty(obj));
// true

Cara Object.values hampir sama dengan Object.keys hanya saja yang dicentang adalah nilai di dalam array

let obj = {};
function isEmpty(obj) {
  return Object.values(obj).length === 0;
}

console.log(isEmpty(obj));
// true
_

Mengulang objek dengan let obj = {}; function isEmpty(obj) { return Object.values(obj).length === 0; } console.log(isEmpty(obj)); // true _3

Gunakan

let obj = {};
function isEmpty(obj) {
  return Object.values(obj).length === 0;
}

console.log(isEmpty(obj));
// true
_3 perulangan untuk mengulangi
let obj = {};
function isEmpty(obj) {
  return Object.values(obj).length === 0;
}

console.log(isEmpty(obj));
// true
5 di atas objek

let obj = {};
function isEmpty(obj) {
  for (let prop in obj) {
    if (obj.hasOwnProperty(prop)) return false;
  }
  return true;
}

console.log(isEmpty(obj));
// true

Pada kode di atas, kita akan melakukan iterasi melalui properti objek dan jika objek memiliki setidaknya satu properti, maka objek tersebut akan memasuki loop dan mengembalikan

let obj = {};
function isEmpty(obj) {
  return Object.values(obj).length === 0;
}

console.log(isEmpty(obj));
// true
6. Jika objek tidak memiliki properti apapun maka akan mengembalikan
let obj = {};
function isEmpty(obj) {
  return Object.values(obj).length === 0;
}

console.log(isEmpty(obj));
// true
7

Menggunakan let obj = {}; function isEmpty(obj) { return Object.values(obj).length === 0; } console.log(isEmpty(obj)); // true _8

Bentuk benda kosong adalah sebagai berikut

let obj = {};
function isEmpty(obj) {
  return Object.values(obj).length === 0;
}

console.log(isEmpty(obj));
// true
9. Jika kita melakukan
let obj = {};
function isEmpty(obj) {
  return Object.values(obj).length === 0;
}

console.log(isEmpty(obj));
// true
8 pada objek kosong maka kita akan mencari nilai kurung buka dan tutup, berdasarkan itu kita dapat membandingkannya dengan kurung buka dan tutup dalam bentuk string. Lebih jelas lihat contoh berikut

let obj = {};
function isEmptyObject(obj) {
  return JSON.stringify(obj) === "{}";
}

console.log(isEmptyObject(obj));
// true

Menggunakan JQuery

jQuery.isEmptyObject(obj);

Menggunakan Lodash

_.isEmpty(obj);

Berdasarkan cara-cara di atas, kalau asrul dev sendiri lebih suka pakai

let obj = {};
function isEmpty(obj) {
  return Object.values(obj).length === 0;
}

console.log(isEmpty(obj));
// true
8, kalau temannya lebih suka yang mana?