আমি মনে করি, আমিও পূর্ববর্তী উত্তর সহ রূপক এবং রহস্যময়। স্পষ্টতা অনুসরণ।
অ্যারের উদাহরণ, বুলিয়ান, তারিখ, ফাংশন, সংখ্যা, RegExp, স্ট্রিং একটি অবজেক্ট তবে প্রতিটি ধরণের নির্দিষ্ট পদ্ধতি এবং বৈশিষ্ট্য সহ বর্ধিত। উদাহরণস্বরূপ, অ্যারের একটি পূর্বনির্ধারিত length
সম্পত্তি রয়েছে যখন জেনেরিক বস্তুগুলি না থাকে।
javascript:alert([].length+'\n'+{}.length)
প্রদর্শন
0
অনির্দিষ্ট
স্বতঃস্ফূর্তভাবে, এফএফ গেকো দোভাষী এছাড়াও অ্যারে এবং জেনেরিক অবজেক্টের মধ্যে আলাদা আলাদা পার্থক্য সহ ভাষা নির্মাতাকে মূল্যায়ন করে।
javascript:
ra=[ "one", "two", "three"]; ra.a=4;
ob={0:"one", 1:"two", 2:"three"}; ob.a=4;
alert(
ra +"\n\n"+
ob +"\n\n"+
ra.toSource() +"\n\n"+
ra.a +"\t .toSource() forgot me! \n\n"+
ra.length +"\t and my length! \n\n"+
ob.toSource());
ps=""; for(i in ra)ps+=i+" "; alert(ps); /* NB .length is missing! */
ps=""; for(i in ob)ps+=i+" "; alert(ps);
প্রদর্শক
এক দুই তিন
[অবজেক্ট অবজেক্ট]
["এক দুই তিন"]
4। টোসোর্স () আমাকে ভুলে গেছে!
3 এবং আমার দৈর্ঘ্য!
({0: "এক", 1: "দুই", 2: "তিন", a: 4})
এবং 0 1 2 a
এবং 0 1 2 a
।
সমস্ত বস্তু ফাংশন হয় এমন বিবৃতি সম্পর্কিত:
এটা তন্ন তন্ন চিহ্নগুলি সিন্টেক্সের না শব্দার্থগতভাবে সঠিক মত একটি ফাংশন হিসাবে একটি অবাধ বস্তুর উদাহরণস্বরূপ ব্যবহার করা 123()
বা "abc"()
বা []()
বা {}()
বা obj()
যেখানে obj
কোন প্রকার ছাড়া অন্য রয়েছে Function
যাতে একটি অবাধ বস্তুর উদাহরণস্বরূপ একটি নয়, Function
। যাইহোক, একটি বস্তুর দেওয়া obj
এবং এটি ধরন যেমন Array, Boolean, Date, ...
, কিভাবে হয়নি obj
একটি হতে আসা Array, Boolean, Date, ...
? একটি কি Array, Boolean, Date, ...
?
javascript:
alert([Array, Boolean, Date, Function,
Number, Object, RegExp, String] . join('\n\n') );
প্রদর্শন
function Array() {
[native code]
}
function Boolean() {
[native code]
}
function Date() {
[native code]
}
function Function() {
[native code]
}
function Number() {
[native code]
}
function Object() {
[native code]
}
function RegExp() {
[native code]
}
function String() {
[native code]
}
প্রতিটি ক্ষেত্রে, বিনা দ্বিধায় ছাড়াই, অবজেক্টের ধরণটি একটি function
সংজ্ঞা হিসাবে উদ্ভাসিত হয় , সুতরাং যে বিবৃতিটি সমস্ত বস্তুগুলি কার্যকরী! (জিহ্বা-ইন-গাল হ'ল আমি ইচ্ছাকৃতভাবে তার প্রকারের সাথে কোনও বস্তুর উদাহরণের স্পষ্টতাকে অস্পষ্ট করেছিলাম এবং অস্পষ্ট করে দিয়েছি! তবুও এটি "অন্যটি ছাড়া আপনার একটিও থাকতে পারে না", অবজেক্ট এবং ফাংশনটি দেখায়! মূলধনটি টাইপকে জোর দেয় উদাহরণের বিরোধিতা।)
একটি কার্যকরী এবং অবজেক্টের দৃষ্টান্ত উভয়ই জেএস ইন্টারপ্রিটার নিম্ন স্তরের অন্তর্নির্মিত আদিমগুলির যেমন Math
এবং JSON
এবং হিসাবে প্রোগ্রামিং এবং প্রয়োগের জন্য মৌলিক বলে মনে হয় true
।
javascript:alert([Math, JSON, true.toSource()].join("\n\n"));
প্রদর্শন
[object Math]
[object JSON]
(new Boolean(true))
জাভাস্ক্রিপ্টের বিকাশের সময়, একটি অবজেক্ট কেন্দ্রিক প্রোগ্রামিং স্টাইল (ওওপি - অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং স্টাইল - "এর" আমার নিজের পাং!) প্রচলিত ছিল এবং অনুবাদককে আরও বৃহত্তর বিশ্বাসযোগ্যতা দেওয়ার জন্য জাভা দিয়ে একইভাবে নামকরণ করা হয়েছিল । ক্রিয়ামূলক প্রোগ্রামিং কৌশলগুলি অটোম্যাটা, পুনরাবৃত্ত ফাংশন, আনুষ্ঠানিক ভাষা ইত্যাদির তত্ত্বগুলি অধ্যয়নযোগ্য এবং স্পষ্ট করার মতো নয় এমন আরও বিমূর্ত এবং গুপ্ত পরীক্ষার জন্য প্রেরণ করা হয়েছিল। যাইহোক, এই আনুষ্ঠানিক বিবেচনার শক্তিগুলি জাভাস্ক্রিপ্টে স্পষ্টভাবে উদ্ভাসিত হয়েছে বিশেষত এফএফ এর গেকো ইঞ্জিনে (যেমন .toSource()
) প্রয়োগ করা হয়েছে ।
ফাংশনটির জন্য অবজেক্টের সংজ্ঞাটি বিশেষভাবে সন্তোষজনক কারণ এটি পুনরাবৃত্তির সম্পর্ক হিসাবে সংজ্ঞায়িত হয়! এটি নিজস্ব সংজ্ঞা ব্যবহার করে সংজ্ঞায়িত!
function Function() { [native code] }
এবং যেহেতু কোনও ফাংশন একটি অবজেক্ট তাই একই অনুভূতি ধারণ করে
function Object() { [native code] }
।
অন্যান্য সংজ্ঞাগুলির বেশিরভাগ স্থির টার্মিনাল মানকে শান্ত করে। তবে, eval()
এটি একটি বিশেষ ক্ষমতাশালী আদিম এবং সুতরাং একটি স্ট্রিং এছাড়াও স্বেচ্ছাসেবী কার্যকারিতা এম্বেড করতে পারে।
আবার নোট করুন, উপরে ব্যবহৃত ভাষাগুলি অবজেক্টের ধরণ এবং উদাহরণের পার্থক্যকে অস্পষ্ট করে।