দ্রুত পটভূমি: জাভাস্ক্রিপ্টে, প্রতিটি বস্তুর ধরণের জন্য কনস্ট্রাক্টর ফাংশনের একটি prototype
সম্পত্তি রয়েছে। prototype
একটি বস্তু বোঝায় যে তার প্রোটোটাইপ শৃঙ্খল পরবর্তী পদক্ষেপ আপ হিসাবে একে নির্মাণ বস্তুর ব্যবহারসমূহ। আপনি যখন অন্য প্রকারের থেকে এক প্রকারের অন্তর্নিহিত চান, আপনি prototype
শিশু টাইপের সেটটি প্যারেন্ট টাইপের একটি নতুন উদাহরণে সেট করতে পারেন ।
উদাহরণ স্বরূপ:
var Parent = function() { /* constructor business */ }
Parent.prototype.parentProp = "some parent property";
var Child = function() { /* constructor business */ }
Child.prototype = /*** !! Some prototype object goes here !! ***/
আমার প্রশ্নটি Some prototype object goes here
উপরের কোডে " " স্পটটিতে কোন কোডটি উচিত about আমার প্রথম প্রবৃত্তিটি পিতামাতার একটি উদাহরণ তৈরি করা (অর্থাত্ new Parent()
), তবে একটি উত্তরের একটি মন্তব্যে এটি কি কোনও অবজেক্টের অন্য প্রোটোটাইপ অনুলিপি করার নিরাপদ উপায়? , একজন ব্যবহারকারী লিখেছেন:
না,
new bar()
প্রোটোটাইপ অবজেক্টের জন্য ব্যবহার করবেন না !
(... এটি একটি মতামত যা আমি অনেক এসও উত্তর এবং মন্তব্যে দেখেছি, তবে এই মুহুর্তে আমার একমাত্র উদাহরণ এটিই))
অন্য বিকল্প Object.create(Parent.prototype)
হিসাবে হিসাবে ব্যবহার করা হয় Child.prototype
। যতদূর আমি জানি, এটি একটি নতুন Parent
উদাহরণও তৈরি করে তবে এটি Parent
নির্মাণকারী চালায় না ।
কেউ কি ব্যাখ্যা করতে পারেন যে পিতামাতার ধরণ থেকে প্রোটোটাইপ অবজেক্ট তৈরি করার সময় কেন কনস্ট্রাক্টর ফাংশনটি চালানো উচিত? এখানে কি কিছু উল্লেখযোগ্য প্রযুক্তিগত সমস্যা দেখা দিয়েছে (সম্ভবত উত্তরাধিকারের একাধিক স্তরের সাথে)? বা এই জাতীয় নিদর্শনটি নির্মাণকারীদের অপব্যবহার যা কিছু প্রোটোটাইপিকাল সেরা অনুশীলনের সাথে সংঘর্ষ হয় (উদাহরণস্বরূপ, প্রোটোটাইপ তৈরি করার সময় কনস্ট্রাক্টর চালানো উদ্বেগের কিছু বিচ্ছেদ লঙ্ঘন করে)?
Object.create
এটাই বাস্তবায়িত হয়।