আমি জানি for... inলুপটি কী (এটি কী দ্বারা পুনরাবৃত্তি হয়) তবে প্রথমবার শুনেছি for... of(এটি মান দিয়ে পুনরাবৃত্তি করে)।
আমি for... ofলুপ দিয়ে বিভ্রান্ত আমি অ্যাডজেকশন পাইনি। এটি নীচের কোড:
var arr = [3, 5, 7];
arr.foo = "hello";
for (var i in arr) {
console.log(i); // logs "0", "1", "2", "foo"
}
for (var i of arr) {
console.log(i); // logs "3", "5", "7"
// it is does not log "3", "5", "7", "hello"
}
আমি যা পেয়েছি তা হ'ল for... ofসম্পত্তি মানগুলি পুনরাবৃত্তি করে। তাহলে কেন এটি "3", "5", "7", "hello"পরিবর্তে লগ (রিটার্ন) না "3", "5", "7"? তবে for... inপ্রতিটি কী ( "0", "1", "2", "foo") এর উপরে লুপ পুনরাবৃত্তি হয় । এখানে কী দ্বারা for... inলুপটি পুনরাবৃত্তি হয় foo। তবে সম্পত্তির for... ofমানের উপর পুনরাবৃত্তি হয় না । কেন এমন হয়?foo"hello"
সংক্ষেপে দীর্ঘ গল্প:
এখানে আমি for... ofলুপ কনসোল । এটি লগ করা উচিত "3", "5", "7","hello"কিন্তু এখানে এটি লগ "3", "5", "7"। কেন?
for ... ofব্যবহার করে সমস্যাগুলি সমাধান করার জন্য ভাষায় আনা হয়েছিল for ... in। Array.prototypeএমনভাবে সংশোধন করা যেতে পারে যে অতিরিক্ত সম্পত্তি পাওয়া যায়, এটির পুনরাবৃত্তি করা এটি অনিরাপদ হয়ে যায় কারণ আপনি অপ্রত্যাশিত নন সংখ্যাযুক্ত কীগুলি পেতে পারেন।
ofকীওয়ার্ডের (লুপের জন্য… এর) নকল নয় , কারণ এটি সাধারণ ওভারভিউ জিজ্ঞাসার চেয়ে বৈশিষ্ট্যের একটি নির্দিষ্ট আচরণ সম্পর্কে জিজ্ঞাসা করে।
for <key> in" এবং " for <value> of" বলার for..of
