Apakah suatu fungsi berperilaku seperti objek dalam javascript?

Fungsi adalah objek dalam JavaScript. Kita bisa meneruskannya seperti objek, seperti berisi data. Selain melakukan operasi sebagai fungsi, mereka disimpan secara internal sebagai data

Fungsi dalam JavaScript adalah objek, karena,

  1. Fungsi berisi properti seperti objek
  2. Kita dapat menambahkan properti baru atau membaca properti
  3. Kita bisa meneruskan fungsi ke fungsi lain beserta properti dan datanya
  4. Kita dapat mengembalikan fungsi beserta properti dan datanya
  5. Itu milik rantai prototipe JavaScript

Bicara itu murah, tunjukkan kode Anda

Mari kita lihat pernyataan ini beraksi,

Fungsi berisi properti

Kita bisa mendapatkan nama fungsi seperti properti objek,

function getBestRockBandInBd() {
return 'Warfaze';
}
console.log(getBestRockBandInBd.name); // getBestRockBandInBd

Di sini kita lihat, ketika kita membuat sebuah fungsi, ia memiliki properti name yang dapat dicetak seperti properti objek

Saat kita membuat sebuah fungsi, itu secara internal membuat objek dengan properti berikut,

  • Kode (Kami dapat memanggilnya menggunakan functionName())
  • nama (Menyimpan nama fungsi, tidak berlaku untuk fungsi panah)
Kita dapat menambahkan properti baru atau membaca properti

Kita dapat menggunakan fungsi untuk menyimpan properti dan mengambilnya nanti,

function bestPsychedelicRockBandInBd() {
return 'Sonar Bangla Circus';
}
bestPsychedelicRockBand.foo = 'bar';console.log(bestPsychedelicRockBand.foo); // bar
_

Di sini kita menetapkan properti

function bestPsychedelicRockBandInBd() {
return 'Sonar Bangla Circus';
}
bestPsychedelicRockBand.foo = 'bar';console.log(bestPsychedelicRockBand.foo); // bar
_0 ke fungsi
function bestPsychedelicRockBandInBd() {
return 'Sonar Bangla Circus';
}
bestPsychedelicRockBand.foo = 'bar';console.log(bestPsychedelicRockBand.foo); // bar
1 dan kemudian mencetaknya di konsol

Kita bisa meneruskan fungsi ke fungsi lain beserta properti dan datanya

Mari berikan fungsi ke fungsi lain dan lakukan eksekusi,

function nemesis(whoIsVocal) {
console.log(whoIsVocal()); // `whoIsVocal` function comes as parameter
}
// We will pass this function to `nemesis` function as parameter
function showVocalName() {
console.log('Zohad');
}
nemesis(showVocalName);
_Kita dapat mengembalikan fungsi beserta properti dan datanya

Sekarang seperti objek, kami akan mengembalikan fungsi dari fungsi lain,

function anotherRockBand() {
// We are returning function named `aurthohin`
return function aurthohin() {
console.log('This is Aurthohin');
}
}
const returnedFunction = anotherRockBand();returnedFunction();

Fitur ini mengaktifkan fitur JavaScript

function bestPsychedelicRockBandInBd() {
return 'Sonar Bangla Circus';
}
bestPsychedelicRockBand.foo = 'bar';console.log(bestPsychedelicRockBand.foo); // bar
_2

Itu milik rantai prototipe JavaScript

Kita tahu objek dasar

function bestPsychedelicRockBandInBd() {
return 'Sonar Bangla Circus';
}
bestPsychedelicRockBand.foo = 'bar';console.log(bestPsychedelicRockBand.foo); // bar
_3 memiliki properti yang disebut
function bestPsychedelicRockBandInBd() {
return 'Sonar Bangla Circus';
}
bestPsychedelicRockBand.foo = 'bar';console.log(bestPsychedelicRockBand.foo); // bar
4,

console.log(Object.hasOwnProperty('prototype')); // true
_

Jika kita membuat suatu fungsi, dapat kita lihat, fungsi tersebut juga memiliki properti

function bestPsychedelicRockBandInBd() {
return 'Sonar Bangla Circus';
}
bestPsychedelicRockBand.foo = 'bar';console.log(bestPsychedelicRockBand.foo); // bar
4,

function crypticFate() {}console.log(crypticFate.hasOwnProperty('prototype')); // true

Kita dapat menjalankan fungsi menggunakan

function bestPsychedelicRockBandInBd() {
return 'Sonar Bangla Circus';
}
bestPsychedelicRockBand.foo = 'bar';console.log(bestPsychedelicRockBand.foo); // bar
6,
function bestPsychedelicRockBandInBd() {
return 'Sonar Bangla Circus';
}
bestPsychedelicRockBand.foo = 'bar';console.log(bestPsychedelicRockBand.foo); // bar
7 dan
function bestPsychedelicRockBandInBd() {
return 'Sonar Bangla Circus';
}
bestPsychedelicRockBand.foo = 'bar';console.log(bestPsychedelicRockBand.foo); // bar
8. Menariknya ini bukan milik fungsi itu sendiri, kami dapat memverifikasi ini,

function crypticFate() {}console.log(crypticFate.hasOwnProperty('call'));  // false
console.log(crypticFate.hasOwnProperty('bind')); // false
console.log(crypticFate.hasOwnProperty('apply')); // false

Sebenarnya, properti ini diwarisi dari rantai prototipe dan asli dari objek dasar. Untuk memverifikasi,

function crypticFate() {}console.log(crypticFate.__proto__.hasOwnProperty('call'));  // true
console.log(crypticFate.__proto__.hasOwnProperty('bind')); // true
console.log(crypticFate.__proto__.hasOwnProperty('apply')); // true
_Pemikiran terakhir

Seperti yang kita lihat 5 poin ini, yang disebutkan di atas, fungsi hanyalah objek di dunia JavaScript. Beri tahu saya pendapat Anda tentang ini

Lebih banyak konten di PlainEnglish. io. Mendaftar untuk buletin mingguan gratis kami. Ikuti kami di Twitter, LinkedIn, YouTube, dan Perselisihan. Tertarik dengan Peretasan Pertumbuhan?

Bisakah fungsi bertindak sebagai objek dalam JavaScript?

Dalam JavaScript, fungsi adalah objek kelas satu , karena dapat diteruskan ke fungsi lain, dikembalikan dari fungsi, dan ditetapkan ke variabel . Mereka juga dapat memiliki properti dan metode seperti objek lainnya.

Bisakah fungsi menjadi properti objek JS?

Metode—mengatur fungsi sebagai properti objek. Dalam JavaScript, Anda dapat menggunakan fungsi sebagai nilai, seperti angka, string, dan objek . Itu berarti Anda bisa meneruskannya sebagai argumen, mengembalikannya dari fungsi lain, dan menetapkannya sebagai properti objek.

Bagaimana fungsi dapat ditulis dalam JavaScript dengan sebuah contoh?

Sintaks Fungsi JavaScript . The parentheses may include parameter names separated by commas: (parameter1, parameter2,. ) Parameter fungsi dicantumkan di dalam tanda kurung () dalam definisi fungsi. Argumen fungsi adalah nilai yang diterima oleh fungsi saat dipanggil.

Bisakah suatu fungsi mengambil objek sebagai argumen dalam JavaScript?

Kita dapat meneruskan objek ke fungsi JavaScript, tetapi argumen harus memiliki nama yang sama dengan nama properti Object .