আমি কিভাবে একটি পরিবর্তনশীল চেক করবেন এটা যদি
null
বাundefined
এবং এর মধ্যে পার্থক্য কিnull
এবংundefined
?==
এবং===
"(===" "গুগল অনুসন্ধান করা শক্ত) এর মধ্যে পার্থক্য কী ?
আমি কিভাবে একটি পরিবর্তনশীল চেক করবেন এটা যদি null
বা undefined
এবং এর মধ্যে পার্থক্য কি null
এবং undefined
?
==
এবং ===
"(===" "গুগল অনুসন্ধান করা শক্ত) এর মধ্যে পার্থক্য কী ?
উত্তর:
আমি কিভাবে একটি পরিবর্তনশীল চেক করবেন এটা যদি
null
বাundefined
...
পরিবর্তনশীল null
:
if (a === null)
// or
if (a == null) // but see note below
... তবে নোট করুন পরবর্তীটি যদি a
হয় তবে তা সত্যও হবে undefined
।
এটা কি undefined
:
if (typeof a === "undefined")
// or
if (a === undefined)
// or
if (a == undefined) // but see note below
... তবে আবার মনে রাখবেন যে শেষটি অস্পষ্ট; যদি a
হয় তবে এটি সত্যও হবে null
।
এখন, উপরোক্ত সত্ত্বেও, তাদের পরীক্ষা করার স্বাভাবিক উপায় হ'ল এগুলি সত্য যে সত্য তা মিথ্যা :
if (!a) {
// `a` is falsey, which includes `undefined` and `null`
// (and `""`, and `0`, and `NaN`, and [of course] `false`)
}
এটি অনুচ্ছেদে টুবুলিয়ান দ্বারা সংজ্ঞায়িত করা হয়েছে ।
... এবং এর মধ্যে পার্থক্য কি
null
এবংundefined
?
এগুলি দুটি মানই সাধারণত কোনও কিছুর অনুপস্থিতি নির্দেশ করতে ব্যবহৃত হয়। undefined
ভেরিয়েবলের ডিফল্ট মান হিসাবে ব্যবহৃত হয় যতক্ষণ না তারা অন্য কিছু মান নির্ধারিত হয় ততক্ষণ পর্যন্ত সাধারণ জেনারিক, ফাংশনটি ডাকা হওয়ার সময় সরবরাহ করা হয়নি এমন ফাংশন আর্গুমেন্টের মান হিসাবে এবং আপনি যখন কোনও অবজেক্ট জিজ্ঞাসা করেন তখন প্রাপ্ত মান হিসাবে একটি সম্পত্তি জন্য এটি নেই। তবে এটি সমস্ত পরিস্থিতিতে স্পষ্টভাবে ব্যবহার করা যেতে পারে। (কোনও অবজেক্টের সম্পত্তি না থাকা এবং সম্পত্তি সহ মূল্যমানের undefined
মধ্যে পার্থক্য রয়েছে; undefined
একটি আর্গুমেন্টের জন্য মূল্য সহ একটি ফাংশন কল করা এবং সেই যুক্তিটি পুরোপুরি ছেড়ে দেওয়ার মধ্যে পার্থক্য রয়েছে ))
null
এর চেয়ে কিছুটা বেশি নির্দিষ্ট undefined
: এটি একটি ফাঁকা বস্তুর উল্লেখ। অবশ্যই জাভাস্ক্রিপ্ট আলগাভাবে টাইপ করা আছে, তবে জাভাস্ক্রিপ্টের সাথে সমস্ত জিনিস আলস্যভাবে টাইপ করা হয় না। ব্রাউজারগুলিতে ডোম-এর মতো কোনও এপিআই-এর যদি কোনও অবজেক্ট রেফারেন্স ফাঁকা থাকে তবে আমরা ব্যবহার করি null
, তা নয় undefined
। এবং একইভাবে, ডোমের getElementById
ক্রিয়াকলাপটি কোনও অবজেক্ট রেফারেন্স প্রদান করে - হয় বৈধ একটি (যদি এটি ডোম উপাদানটি খুঁজে পায়), বা null
(যদি তা না পেয়ে থাকে)।
মজার বিষয় (বা না), তারা তাদের নিজস্ব ধরণের। যা বলতে হয়, null
নাল টাইপের undefined
একমাত্র মান, এবং অপরিজ্ঞাত টাইপের একমাত্র মান।
"==" এবং "===" এর মধ্যে পার্থক্য কী?
তাদের মধ্যে পার্থক্যটি হ'ল ==
মানগুলি মিলিয়ে দেওয়ার চেষ্টা করার জন্য ধরণের জবরদস্তি ===
করবে এবং তা হবে না। সুতরাং উদাহরণস্বরূপ "1" == 1
সত্য, কারণ "1"
coerces 1
। তবে "1" === 1
এটি মিথ্যা , কারণ প্রকারগুলি মেলে না। ( "1" !== 1
সত্য।) প্রথম (বাস্তব) পদক্ষেপটি ===
হল "অপারেশনগুলির ধরণগুলি কি একই রকম?" এবং উত্তরটি যদি "না" হয় তবে ফলাফল হয় false
। প্রকারগুলি যদি একই হয় তবে এটি ঠিক কী ==
করে।
প্রকার জবরদস্তি বেশ জটিল নিয়ম ব্যবহার করে এবং আশ্চর্যজনক ফলাফল হতে পারে (উদাহরণস্বরূপ, "" == 0
এটি সত্য)।
অনুমান আরও:
==
একে "আলগা" সাম্যতাও বলা হয়)===
)if (a) { ... }
"যদি a
সত্যবাদী হয় " এর অর্থ হ'ল "সত্যবাদী" হ'ল একটি শূন্য, নন-নাল, অপরিজ্ঞাত, অ-মিথ্যা, খালি-খালি স্ট্রিং মান। :-)
null
কোনও বস্তু নয় , এটি একটি অবজেক্ট রেফারেন্স যার অর্থ "কোনও বস্তু নেই"। এটি গুরুত্বপূর্ণ, এটা কি (যেমন, হোস্ট প্রদত্ত ইন্টারফেস সহ ব্যবহার করা হয়ে যখন তারা বস্তুর রেফারেন্স প্রদান কিন্তু প্রদান না থাকে কারণ node.nextSibling
যখন node
তার পিতা বা মাতা শেষ উপাদান হয়, অথবা getElementById
যখন যে ID সহ কোনো উপাদান)। হোস্টটি এর জন্য যে প্রযুক্তি ব্যবহার করে তা জাভাস্ক্রিপ্ট যেমন ভেরিয়েবল / সম্পত্তির ধরণের সম্পর্কে নমনীয় না হয়, তাই এটিতে একটি null
আপত্তি রেফার প্রয়োজন ছিল (বিপরীতে undefined
)।
typeof null
"অবজেক্ট" ফিরিয়ে দেওয়ার অর্থ হয়। কেবলমাত্র অন্য মানটি যা বোঝায় তা হ'ল "নাল", যেহেতু অবশ্যই এটির থেকে আলাদা কিছু পাওয়া উচিত typeof undefined
। নাল একটি নাল অবজেক্টের রেফারেন্স উপস্থাপন করে যা খুব কমপক্ষে, পরিবর্তনশীল হোল্ডিংকে বোঝায় এটি কিছু ধরণের 'অবজেক্ট' এর জন্য। এটি যদি ভুল হয় তবে এটি একটি ভাল ভুল ছিল। যাইহোক, উত্তরের ক্ষেত্রে, ক্রস-উইন্ডো স্ক্রিপ্টিংয়ের সময় টিপটি সম্পর্কে undefined
! == undefined
বিশেষত ডিবাগিংয়ের উদ্দেশ্যে জানা ভাল।
পার্থক্যটি সূক্ষ্ম।
জাভাস্ক্রিপ্টে একটি undefined
ভেরিয়েবল এমন একটি পরিবর্তনশীল যা কখনও ঘোষণা করা হয় নি বা কখনও কোনও মান নির্ধারণ করা হয়নি। যাক আপনি var a;
উদাহরণস্বরূপ ঘোষণা করুন , তারপর a
হবে undefined
, কারণ এটি কখনই কোনও মূল্য বরাদ্দ করা হয়নি।
কিন্তু আপনি যদি তারপর ধার্য a = null;
তারপর a
এখন হতে হবে null
। জাভাস্ক্রিপ্ট null
একটি অবজেক্ট ( typeof null
একটি জাভাস্ক্রিপ্ট কনসোল চেষ্টা করুন যদি আপনি আমাকে বিশ্বাস করেন না), যার অর্থ নাল একটি মান (আসলে এমনকি undefined
একটি মানও)।
উদাহরণ:
var a;
typeof a; # => "undefined"
a = null;
typeof null; # => "object"
এটি ফাংশন আর্গুমেন্টে কার্যকর প্রমাণ করতে পারে। আপনার ডিফল্ট মান থাকতে পারে তবে গ্রহণযোগ্য হতে নালাকে বিবেচনা করুন। কোন ক্ষেত্রে আপনি করতে পারেন:
function doSomething(first, second, optional) {
if (typeof optional === "undefined") {
optional = "three";
}
// do something
}
আপনি বাদ তাহলে optional
প্যারামিটার doSomething(1, 2) then
ঐচ্ছিক হতে হবে "three"
স্ট্রিং কিন্তু আপনি যদি পাস doSomething(1, 2, null)
তারপর হতে হবে ঐচ্ছিক null
।
সমান ==
এবং কঠোর সমান ===
তুলনামূলক হিসাবে, প্রথমটি দুর্বলভাবে টাইপ করা হয়, তবে কঠোরভাবে সমান মানগুলির ধরণের জন্যও পরীক্ষা করে। তার মানে যে 0 == "0"
সত্য ফিরে আসবে; এবং 0 === "0"
মিথ্যা ফিরে আসবে কারণ একটি সংখ্যা একটি স্ট্রিং নয়।
আপনি সেই অপারেটরগুলিকে undefined
একটি মধ্যে চেক করতে ব্যবহার করতে পারেন null
। উদাহরণ স্বরূপ:
null === null # => true
undefined === undefined # => true
undefined === null # => false
undefined == null # => true
শেষ কেসটি আকর্ষণীয়, কারণ এটি আপনাকে ভেরিয়েবলটি অপরিজ্ঞাত বা নাল এবং অন্য কিছু নয় কিনা তা পরীক্ষা করতে দেয়:
function test(val) {
return val == null;
}
test(null); # => true
test(undefined); # => true
এই প্রশ্নগুলির সম্পূর্ণ উত্তরের জন্য অনুমিত স্থানটি। এখানে একটি সংক্ষিপ্তসার:
x
, আপনি এই করতে পারেন:null
সরাসরি তুলনা করে ব্যবহার করে দেখুন কিনা ===
। উদাহরণ:x === null
undefined
দুটি মূল পদ্ধতির মাধ্যমে হয় কিনা তা পরীক্ষা করে দেখুন: এর সাথে সরাসরি তুলনা undefined
বা typeof
। জন্য বিভিন্ন কারণের , আমি পছন্দ typeof x === "undefined"
।null
এবং পরীক্ষা undefined
করে নিন ==
এবং সামান্য আরকেন ধরণের জবরদস্তির বিধিগুলি ব্যবহার করে এবং নির্ভর করে যার অর্থ x == null
আপনি যা চান ঠিক তা করেন does==
এবং এর মধ্যে মূল পার্থক্যটি ===
হ'ল যদি অপারেন্ডগুলি বিভিন্ন ধরণের হয় ===
তবে সর্বদা ফিরে আসবে false
যখন এমন নিয়মগুলি==
ব্যবহার করে এক বা উভয় অপারেশনগুলিকে একই ধরণের রূপান্তরিত করে যা কিছুটা অপ্রয়োজনীয় আচরণের দিকে পরিচালিত করে। যদি অপারেন্ডগুলি একই ধরণের হয় (যেমন উভয় স্ট্রিং যেমন উপরের তুলনায়), এবং ঠিক একইরকম আচরণ করবে।typeof
==
===
আরও পঠন:
কোনও পরিবর্তনশীল যদি নাল বা অপরিজ্ঞাত হয় তবে আমি কীভাবে তা পরীক্ষা করব
কোনও ভেরিয়েবলের এর মতো বৈধ মান আছে কিনা তা পরীক্ষা করে দেখুন:
if(variable)
ভেরিয়েবলটি না রাখলে এটি সত্য হবে:
অনির্দিষ্ট
এর অর্থ হল ভেরিয়েবলটি এখনও অন্তর্নিহিত হয়নি।
উদাহরণ:
var x;
if(x){ //you can check like this
//code.
}
সমান (==)
এটি কেবলমাত্র চেক মানটি ডেটাটাইপের সমান নয়।
উদাহরণ:
var x = true;
var y = new Boolean(true);
x == y ; //returns true
কারণ এটি কেবল মূল্য পরীক্ষা করে।
কঠোর সমান (===)
মানটি পরীক্ষা করে এবং ডেটাটাইপ একই হওয়া উচিত।
উদাহরণ:
var x = true;
var y = new Boolean(true);
x===y; //returns false.
কারণ এটি পরীক্ষা করে ডেটাটাইপ এক্স একটি আদিম ধরণের এবং y হ'ল বুলিয়ান অবজেক্ট।
এ্যাড 1. null
বিশ্বব্যাপী বস্তুর একটি সম্পত্তি একটি আইডেন্টিফায়ার নয়, মত undefined
হতে পারে
বিজ্ঞাপন 2. ===
চেক মান এবং প্রকার। ==
Dont (ব্যবহার তুলনা পূর্বেই একই ধরনের এবং প্রণীত অন্তর্নিহিত রূপান্তর প্রয়োজন .valueOf()
এবং .toString()
)। এখানে আপনার সমস্ত ( এসসিআর ) রয়েছে:
যদি
== (এর অবহেলা ! = )
=== (এর অবহেলা ! == )
document.all == null
এবংdocument.all !== null
যদি আপনার (যৌক্তিক) চেকটি কোনও প্রত্যাখ্যান (!) এর জন্য হয় এবং আপনি উভয় জেএস ক্যাপচার করতে চান null
এবং undefined
(যেমন বিভিন্ন ব্রাউজারগুলি আপনাকে বিভিন্ন ফলাফল দেয়) আপনি কম সীমাবদ্ধ তুলনাটি ব্যবহার করবেন: যেমন:
var ItemID = Item.get_id();
if (ItemID != null)
{
//do stuff
}
এটি উভয় null
এবং ক্যাপচার করবেundefined
বিভিন্ন যুক্তি দিয়ে চেষ্টা করুন । শূন্য নয়, ফাঁকা নয়, অপরিজ্ঞাত নয় এবং শূন্য নয় জাভাস্ক্রিপ্ট এবং jquery এ এই কোডটি (! (! (ভেরিয়েবল))) ব্যবহার করার জন্য আপনি চারটি (4) শর্ত পরীক্ষা করার জন্য বেলো কোডটি ব্যবহার করতে পারেন।
function myFunction() {
var data; //The Values can be like as null, blank, undefined, zero you can test
if(!(!(data)))
{
//If data has valid value
alert("data "+data);
}
else
{
//If data has null, blank, undefined, zero etc.
alert("data is "+data);
}
}
==
এবং===
ভাল হয় এখানে বর্ণিত ।