কম্পিউটার টিউটোরিয়াল

জাভাস্ক্রিপ্টে for...in এবং for...of লুপের পার্থক্য


for...in এবং for...of লুপের পার্থক্য

দুই লুপই কিছুতে ইটারেট করে। প্রধান পার্থক্য হলো সেগুলো কীতে ইটারেট করে।

১) for...in লুপ

এই লুপ একটি অবজেক্টের এনামারেবল প্রোপার্টিগুলোর ওপর অনির্দিষ্ট অর্ডারে ইটারেট করে। এটা শুধু প্রোপার্টিরপর সম্বল করে, ভ্যালুর উপর নয়।

নিচের উদাহরণে for...in লুপ ব্যবহার করে অ্যারেটির প্রোপার্টিগুলো ইটারেট করা হয়েছে। যেহেতু এটি একটি অ্যারে, ইন্ডেক্স একটি গুরুত্বপূর্ণ প্রোপার্টি, তাই প্রতিটি এলিমেন্টের ইন্ডেক্স ইটারেট होकर আউটপুটে দেখাচ্ছে। নিজস্ব প্রোপার্টির পাশাপাশি কিছু ইনহেরিটেড প্রোপার্টি (যেমন "inherProp2", "inherProp1") ও দেখাচ্ছে।

উদাহরণ-১

<html> <body> <script>    Object.prototype.inherProp1 = function() {};    Array.prototype.inherProp2= function() {};    var org = ["Apple", "Microsoft", "Tesla"]    org.anotherOrg = "solarCity";    for (var key in org) {       document.write(key);       document.write("<br>"); } </script> </body> </html>

আউটপুট

0 1 2 anotherOrg // own property inherProp2 // inherited property inherProp1 // inherited property


নিচের উদাহরণে, hasOwnProperty() ব্যবহার করলে শুধু নিজস্ব প্রোপার্টিগুলো (ইন্ডেক্স এবং অন্যান্য প্রোপার্টি) দেখাচ্ছে, ইনহেরিটেড প্রোপার্টিগুলো ("inherProp1", "inherProp2") দেখাচ্ছে না।

উদাহরণ-২

<html> <body> <script> Object.prototype.objCustom = function() {}; Array.prototype.arrCustom = function() {}; var org = ["Apple", "Microsoft", "Tesla"] org.anotherOrg = "solarCity"; for (var i in org) { if (org.hasOwnProperty(i)) { document.write(i); document.write("<br>"); } } </script> </body> </html>

আউটপুট

0 1 2 anotherOrg

২) for...of লুপ

for...in লুপের বিপরীতে, for...of লুপ সেই ভ্যালুগুলোর ওপর ইটারেট করে যা অবজেক্টটি ইটারেট করার জন্য ডিফাইন করে।

নিচের উদাহরণে for...of লুপ ব্যবহার করে 'Apple', 'Microsoft', 'Tesla' ভ্যালুগুলো আউটপুটে দেখানো হয়েছে।

উদাহরণ

<html> <body> <script> var org = ["Apple", "Microsoft", "Tesla"] for (var key of org) { document.write(key); document.write("<br>"); } </script> </body> </html>

আউটপুট

Apple Microsoft Tesla
  1. জাভাস্ক্রিপ্টে ফাংশন ও মেথডের পার্থক্য

  2. জাভাস্ক্রিপ্টে Map এবং WeakMap-এর পার্থক্য কী

  3. জাভাস্ক্রিপ্ট এবং পাইথনে সেমিকোলনের পার্থক্য

  4. জাভা এবং জাভাস্ক্রিপ্টের মধ্যে পার্থক্য কী?