আমি জানি যে জাভাস্ক্রিপ্টে ভেরিয়েবলটি কিনা তা যাচাই করার জন্য দুটি উপায় নীচে রয়েছে null
তবে আমি বিভ্রান্ত হয়ে পড়েছি যা ব্যবহারের সেরা অনুশীলন।
আমি কি উচিত:
if (myVar) {...}
অথবা
if (myVar !== null) {...}
আমি জানি যে জাভাস্ক্রিপ্টে ভেরিয়েবলটি কিনা তা যাচাই করার জন্য দুটি উপায় নীচে রয়েছে null
তবে আমি বিভ্রান্ত হয়ে পড়েছি যা ব্যবহারের সেরা অনুশীলন।
আমি কি উচিত:
if (myVar) {...}
অথবা
if (myVar !== null) {...}
উত্তর:
তারা সমতুল্য নয়। প্রথমটি if
যদি সত্যবাদী হয় ( myVar
তবে শর্তসাপেক্ষে মূল্যায়ন করে true
) বিবৃতি অনুসরণ করে ব্লকটি কার্যকর করবে , এবং দ্বিতীয়টি যদি ব্লকটি কার্যকর করে তবেmyVar
অন্য কোনও মানnull
।
জাভাস্ক্রিপ্টে সত্যবাদী না হওয়া কেবলমাত্র মানগুলি নিম্নলিখিত (ওরফে মিথ্যা মান):
null
undefined
0
""
(খালি স্ট্রিং)false
NaN
ভেরিয়েবল নাল না হলে আপনি কীভাবে পরীক্ষা করতে পারবেন:
if (myVar !== null) {...}
যদি myVar নাল .. যদি myVar undefined হয় বা মিথ্যা বা মৃত্যুদন্ড কার্যকর করা হবে নয় ব্লক মৃত্যুদন্ড কার্যকর করা হবে 0
বা NaN
বা অন্য কিছু ..
("")
এবং অপরিজ্ঞাত জন্য পরীক্ষা করে না । রেফারেন্স হিসাবে আমার ফিডল দেখুন: jsfiddle.net/b0tm7yaf
এই পোস্টে একটি পড়ুন: http://enterprisejquery.com/2010/10/how-good-c-habits-can-encourage-bad-javascript-habits-part-2/
এটিতে জাভাস্ক্রিপ্টের জন্য কয়েকটি দুর্দান্ত টিপস রয়েছে তবে একটি জিনিস এর উল্লেখ করে তা হ'ল আপনার নাল মতো পরীক্ষা করা উচিত:
if(myvar) { }
এটি 'মিথ্যা' বলে বিবেচিত তা উল্লেখ করে যা আপনি বুঝতে পারেন না।
if(myVar) { code }
কেবল তখন myVar
সমান হলে কার্যকর করা হবে না : false, 0, "", null, undefined, NaN
বা আপনি কখনই ভেরিয়েবল সংজ্ঞায়িত করেন না myVar
(তারপরে কোডটি এক্সপেকিউড স্টপ এবং ব্যতিক্রম নিক্ষেপ)।if(myVar !== null) {code}
কেবল তখনই কার্যকর হবে না যখন আপনি এর myVar
সমান হন null
বা আপনি কখনই এটি সংজ্ঞায়িত করেন না (ব্যতিক্রম ছোঁড়ে)।এখানে আপনার সমস্ত ( এসসিআর ) রয়েছে
যদি
== (এর অবহেলা ! = )
=== (এর অবহেলা ! == )
আমি সবেমাত্র এসেছি এমন আরও একটি সম্ভাব্য দৃশ্য রয়েছে।
আমি একটি এজাক্স কল করেছি এবং একটি স্ট্রিং ফর্ম্যাটে নাল হিসাবে তথ্য ফিরে পেয়েছি। আমাকে এটি পরীক্ষা করে দেখতে হয়েছিল:
if(value != 'null'){}
সুতরাং, নাল একটি স্ট্রিং যা "নাল" পড়ার পরিবর্তে সত্যই নাল হওয়ার চেয়ে বেশি ছিল।
সম্পাদনা: এটি বুঝতে হবে যে আমি এটি যেভাবে করা উচিত সেভাবে বিক্রি করছি না । আমার এমন দৃশ্য ছিল যেখানে এটি করা সম্ভব ছিল। আমি নিশ্চিত না কেন ... সম্ভবত যে লোকটি ব্যাক-এন্ড লিখেছিল সে ডেটা ভুলভাবে উপস্থাপন করছে, তবে নির্বিশেষে, এটিই আসল জীবন। এটি হ'ল হতাশাব্যঞ্জক যে কেউ এমনটি বুঝতে পেরেছেন যে এটি একেবারেই সঠিক নয় এবং তারপরে সত্যিকারের পক্ষে সহায়তা করে এমন কাউকে ভোট দিয়েছিলেন।
null
স্ট্রিংগুলির সাথে তুলনা করার চেয়ে নিজের মানটিকে পার্স করুন ।
value = JSON.parse(value)
এবং তারপরে সহজ এবং সঠিক value != null
পরীক্ষাটি ব্যবহার করা উচিত
যদি myVar
নাল হয় তবে যদি ব্লকটি অন্য বুদ্ধিমানভাবে কার্যকর না করে তবে এটি কার্যকর হবে।
if (myVar != null) {...}
'null'
নয়, বিশেষ মান null
।
আপনি এখানে দুটি তালিকাভুক্ত শর্তাধীন বিবৃতি একে অপরের চেয়ে ভাল না। আপনার ব্যবহার পরিস্থিতির উপর নির্ভর করে। ২ য় উদাহরণ হিসাবে আপনার কাছে টাইপ রয়েছে। বিস্মৃত চিহ্নের পরে কেবল একটি সমান চিহ্ন থাকতে হবে।
1 ম উদাহরণটি নির্ধারণ করে যে মাইভারের মানটি সত্য কিনা এবং {...} এর ভিতরে কোডটি কার্যকর করে ?
২ য় উদাহরণ মূল্যায়ন করে যদি মাইভিয়ার নাল সমান না হয় এবং যদি কেসটি সত্য হয় তবে এটি আপনার কোডটি inside ...} এর মধ্যে কার্যকর করবে
আমি আরও কৌশলগুলির জন্য শর্তাধীন বিবৃতি একবার দেখে পরামর্শ দিই। আপনি যখন তাদের সাথে পরিচিত হন, আপনি তাদের কখন প্রয়োজন হবে তা সিদ্ধান্ত নিতে পারেন।
=
অত্যন্ত গুরুত্বপূর্ণ এবং প্রশ্নটিতে একটি বিশাল পার্থক্য তৈরি করে। সম্ভবত আপনি জাভাস্ক্রিপ্টে !==
এবং ===
অপারেটরদের অস্তিত্ব সম্পর্কে সচেতন না ?