জাভাস্ক্রিপ্টে মিথ্যা মান
false
- শূন্য
Number
টাইপ: 0
এবং -0
, 0.0
এবং হেক্স ফর্ম 0x0
( ধন্যবাদ RBT )
- শূন্য
BigInt
প্রকারের: 0n
এবং -0n
(২০২০ সালে নতুন, ধন্যবাদ গেটমায়ারমোট জব )
""
, ''
এবং ``
- দৈর্ঘ্যের স্ট্রিং 0
null
undefined
NaN
document.all
(কেবলমাত্র এইচটিএমএল ব্রাউজারগুলিতে)
- এটি একটি অদ্ভুত।
document.all
একটি falsey বস্তুর সঙ্গে নয়, typeof
যেমন undefined
। আইই ১১ এর আগে এটি মাইক্রোসফ্ট-মালিকানাধীন ক্রিয়াকলাপ ছিল এবং এটি এইচটিএমএল অনুচ্ছেদে "জাভাস্ক্রিপ্টের নির্দিষ্টকরণের ইচ্ছাকৃত লঙ্ঘন" হিসাবে যুক্ত হয়েছিল যাতে আই এর জন্য লিখিত সাইটগুলি অ্যাক্সেস করার চেষ্টা করতে ব্যর্থ না হয়, উদাহরণস্বরূপ document.all.something
,; if (document.all)
শর্তযুক্ত মন্তব্যের আগে, এটি আইআই সনাক্ত করার একটি জনপ্রিয় উপায় হিসাবে ব্যবহৃত হত কারণ এটি মিথ্যা । দেখুন কেন document.all falsy হয়? বিস্তারিত জানার জন্য
"ফ্যালসি" এর সহজ অর্থ জাভাস্ক্রিপ্টের অভ্যন্তরীণ ToBoolean
ফাংশনটি ফিরে আসে false
। ToBoolean
অন্তর্নিহিত !value
, value ? ... : ...;
এবং if (value)
। এখানে এর অফিসিয়াল স্পেসিফিকেশন (2020 ওয়ার্কিং ড্রাফ্ট) ( 1997 সালে প্রথম ECMAscript স্পেসিফিকেশন হওয়ার পরে কেবলমাত্র পরিবর্তনগুলি ES6 এর প্রতীকগুলির সংযোজন যা সর্বদা সত্য, এবং BigInt
উপরে বর্ণিত:
==
(আলগা সাম্য) সাথে তুলনা
মিথ্যা মানগুলির ' আলগা তুলনা==
' এর সাথে কথা বলা মূল্যবান , যা ToNumber()
অন্তর্নিহিত পার্থক্যের কারণে কিছু বিভ্রান্তি ব্যবহার করে এবং তৈরি করতে পারে। তারা কার্যকরভাবে তিনটি গ্রুপ গঠন:
false, 0, -0, "", ''
সমস্ত একে অপরের সাথে মেলে ==
- যেমন
false == ""
, '' == 0
এবং তাই4/2 - 2 == 'some string'.slice(11);
null, undefined
তার সাথে মিল ==
- যেমন
null == undefined
তবেundefined != false
- এটি উল্লেখ করার মতো বিষয়ও যে
typeof null
ফেরত দেওয়ার সময় কোনও বস্তু নয়'object'
, null
এটি দীর্ঘস্থায়ী বাগ / কৌতুক যা সামঞ্জস্যতা বজায় রাখার জন্য ঠিক করা হয়নি was এটি সত্যিকারের বস্তু নয় এবং বস্তুগুলি সত্যবাদী ( document.all
যখন " জাভাস্ক্রিপ্ট এইচটিএমএলে প্রয়োগ করা হয় তখন " ইচ্ছাশালী লঙ্ঘন "ব্যতীত )
NaN
কিছু মেলে না, সঙ্গে ==
বা ===
, নিজেই এমনকি
- যেমন
NaN != NaN
, NaN !== NaN
, NaN != false
,NaN != null
"কঠোর সাম্য" ( ===
) সহ, এরকম কোনও গ্রুপিং নেই। শুধু false
===
false
।
অনেকগুলি বিকাশকারী এবং অনেক শৈলীর গাইড (যেমন স্ট্যান্ডার্ডজ ) পছন্দ করে ===
এবং প্রায় কখনই ব্যবহার না করার একটি কারণ এটি ==
।
সত্যবাদী মান যে আসলে == false
"সত্যবাদী" এর সহজ অর্থ জাভাস্ক্রিপ্টের অভ্যন্তরীণ ToBoolean
ফাংশনটি ফিরে আসে true
। জাভাস্ক্রিপ্টের সচেতন হওয়ার জন্য একটি স্পর্শ (এবং এর ===
চেয়ে বেশি পছন্দ করার আরও একটি ভাল কারণ ==
): এটি মান সত্যের ( ToBoolean
প্রত্যাবর্তন true
) হওয়াও সম্ভব , তবে এটিও == false
।
আপনি হয়ত ভাবেন যে if (value && value == false) alert('Huh?')
এটি একটি যৌক্তিক অসম্ভবতা যা ঘটতে পারে নি তবে এটি হবে, কারণ:
"0"
এবং '0'
- এগুলি খালি খালি স্ট্রিং, যা সত্য y তবে জাভাস্ক্রিপ্টের ==
সমান সংখ্যক স্ট্রিংয়ের সাথে মিল আছে (উদাহরণস্বরূপ 42 == "42"
)। যেহেতু 0 == false
, তাহলে "0" == 0
, "0" == false
।
new Number(0)
এবং new Boolean(false)
- এগুলি হ'ল বস্তু, যা সত্যবাদী, তবে ==
তাদের মানগুলি দেখে == false
।
0 .toExponential();
- সংখ্যাসূচক মানের সমান একটি বস্তু 0
- অনুরূপ যে কোনও নির্মাণ যা আপনাকে মিথ্যা-সমমানের মান দেয় যা সত্যবাদী in
[]
, [[]]
এবং [0]
( জাভাস্ক্রিপ্ট সমতা টেবিল লিঙ্কের জন্য ক্লাউডফিট ধন্যবাদ )
আরও কিছু সত্যবাদী মূল্যবোধ
এগুলি কেবলমাত্র কয়েকটি মান যা কিছু লোক মিথ্যা বলে আশা করতে পারে তবে সত্যবাদী truth
-1
এবং সমস্ত অ-শূন্য নেতিবাচক সংখ্যা
' '
, " "
, "false"
, 'null'
... সব স্ট্রিং যে শুধু হোয়াইটস্পেস তাদেরকেও খালি নয় এমন স্ট্রিং,
যে কোনও কিছুই typeof
, যা সর্বদা একটি শূন্য খালি স্ট্রিং দেয়, উদাহরণস্বরূপ:
যে কোনও বস্তু ( document.all
ব্রাউজারগুলিতে "ইচ্ছাকৃত লঙ্ঘন" ব্যতীত ; মনে রাখবেন যে অন্যথায় প্রস্তাব দেওয়ার null
পরেও এটি আসলে কোনও বস্তু typeof
নয়)। সহ:
{}
[]
function(){}
বা () => {}
(খালি ফাংশন সহ কোনও ফাংশন)
Error
এবং কোন উদাহরণ Error
- যে কোনও নিয়মিত অভিব্যক্তি
new
(অন্তর্ভুক্ত new Number(0)
এবং new Boolean(false)
) সহ যা কিছু তৈরি করা হয়েছে
- যে কোনও প্রতীক
true
, 1
, "1"
এবং [1]
রিটার্ন true
যখন একে অপরকে তুলনায় ==
।