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

জাভাস্ক্রিপ্টে instanceof এবং Array.isArray() মেথডের পার্থক্য


Array.isArray() মেথড সার্বজনীন (universal), এটি যেকোনো পরিবেশে কাজ করে; কিন্তু instanceof অপারেটর সার্বজনীন নয়, এটি নতুন পরিবেশে (new environment) কাজ করে না।

সিনট্যাক্স-১

Array.isArray(array);

সিনট্যাক্স-২

array instanceof Array;

নিচের উদাহরণে, যেখানে কোনো নতুন পরিবেশ তৈরি করা হয়নি, সেখানে Array.isArray() এবং instanceof উভয়ই একই আউটপুট দিয়েছে।

উদাহরণ

<html> <body> <script>    var a = [1,2,3,4,5];    document.write(Array.isArray(a));    document.write("<br>");    document.write((a instanceof Array));    document.write("<br>");    var b = {}    document.write(Array.isArray(b));    document.write("<br>");    document.write((b instanceof Array)); </script> </body> </html>

আউটপুট

true true false false

এখন একটি নতুন পরিবেশ (new environment) বা নতুন ফ্রেম তৈরি করে দেখি instanceof অপারেটর সেখানে কাজ করে কিনা।

নিচের উদাহরণে, 'iframe' (একটি ফ্রেম প্রোপার্টি যা অ্যারে-লাইক অবজেক্ট তৈরি করে) ব্যবহার করে একটি নতুন ফ্রেম তৈরি করা হয়েছে। পরে সেই নতুন ফ্রেমে একটি অ্যারে-লাইক অবজেক্ট তৈরি করে দুটি ফাংশন থেকে পাস করা হয়েছে। যেহেতু instanceof সার্বজনীন নয়, সেটি ফ্রেমের অ্যারেকে আসল অ্যারে হিসেবে চিনে না এবং false রিটার্ন করেছে, অন্যদিকে Array.isArray() true রিটার্ন করেছে।

উদাহরণ

<html> <body> <script>    var iframeE = document.createElement('iframe');    iframeE.style.display = "none";    document.body.appendChild(iframeE);    iframeArray = window.frames[window.frames.length - 1].Array;    var a = new Array(1,2,3,"hi",4, "hello");    var b = new iframeArray(1,2,3,4);    document.write(Array.isArray(a));    document.write("<br>");    document.write(a instanceof Array);    document.write("<br>");    document.write(Array.isArray(b));    document.write("<br>");    document.write(b instanceof Array); </script> </body> </html>

আউটপুট

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

  2. window.location এবং document.location-এর পার্থক্য

  3. জাভাস্ক্রিপ্টে প্রথম এবং দ্বিতীয় অ্যারের পার্থক্য বের করা

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