Object
হবা হ'ল, এবং Function
হ'ল আদম, আদম ( Function
) হাড় Function.prototype
তৈরি করার জন্য তার হাড় ব্যবহার করে ( Object
)। তাহলে আদম ( Function
) কে সৃষ্টি করেছেন ? - জাভাস্ক্রিপ্ট ভাষার উদ্ভাবক :-)।
উত্সিনার উত্তর অনুসারে, আমি আরও দরকারী তথ্য যুক্ত করতে চাই।
আমার জন্য সবচেয়ে আশ্চর্যজনক বিষয়টি তার পরিবর্তে সেই Object.__proto__
পয়েন্টগুলি আবিষ্কার করছিল , তবে আমি নিশ্চিত যে এর জন্য একটি ভাল কারণ রয়েছে :-)Function.prototype
Object.prototype
এটা করা উচিত নয়। Object.__proto__
নির্দেশ করা উচিত নয় Object.prototype
। পরিবর্তে, উদাহরণস্বরূপ Object
o
, o.__proto__
নির্দেশ করা উচিত Object.prototype
।
(শর্তাদি class
এবং instance
জাভাস্ক্রিপ্টে ব্যবহার করার জন্য আমাকে ক্ষমা করুন , তবে আপনি এটি জানেন :-)
আমি মনে করি ক্লাস Object
নিজেই একটি উদাহরণ Function
, সে কারণেই Object.__proto__ === Function.prototype
। সুতরাং: Object
হবা হ'ল, এবং Function
আদম হ'ল আদম ( Function
) হাড় Function.prototype
তৈরি করার জন্য তার হাড় ব্যবহার করে ( Object
)।
তদ্ব্যতীত, এমনকি শ্রেণি Function
নিজেই নিজের একটি উদাহরণ Function
, এটি হ'ল Function.__proto__ === Function.prototype
এটিওFunction === Function.constructor
তদ্ব্যতীত, নিয়মিত বর্গ Cat
একটি উদাহরণ Function
, এটি হয় Cat.__proto__ === Function.prototype
।
উপরের কারণটি হ'ল, যখন আমরা জাভাস্ক্রিপ্টে একটি ক্লাস তৈরি করি, আসলে আমরা কেবল একটি ফাংশন তৈরি করি যা এর উদাহরণ হওয়া উচিত Function
। Object
এবং Function
শুধুমাত্র বিশেষ, তবে তারা এখনও ক্লাস, যখন Cat
একটি নিয়মিত ক্লাস।
গুগল ক্রোম জাভাস্ক্রিপ্ট ইঞ্জিনে ফ্যাক্টর হিসাবে, নিম্নলিখিত 4:
Function.prototype
Function.__proto__
Object.__proto__
Cat.__proto__
তারা ===
অন্য 3 এর সাথে সমস্ত (একেবারে সমান) এবং তাদের মান isfunction Empty() {}
> Function.prototype
function Empty() {}
> Function.__proto__
function Empty() {}
> Object.__proto__
function Empty() {}
> Cat.__proto__
function Empty() {}
> Function.prototype === Function.__proto__
true
> Function.__proto__ === Object.__proto__
true
> Object.__proto__ === Cat.__proto__
true
ঠিক আছে. তাহলে বিশেষ function Empty() {}
( Function.prototype
) কে তৈরি করেন ? চিন্তা করুন :-)