জাভাক্রিপ্ট লজিকাল অপারেটরগুলির জন্য এবং শর্ট সার্কিট মূল্যায়ন ব্যবহার করে । তবে এটি অন্যান্য ভাষাগুলির থেকে পৃথক যে এটি একটি বা মানের পরিবর্তে শেষের মানটি কার্যকর করা বন্ধ করে দিয়েছিল the||
&&
true
false
নিম্নলিখিত মানগুলি জাভাস্ক্রিপ্টে মিথ্যা বলে বিবেচিত হয়।
- মিথ্যা
- খালি
""
(খালি স্ট্রিং)
- 0
- ন্যান
- অনির্দিষ্ট
অপারেটর অগ্রাধিকারের নিয়মগুলি উপেক্ষা করা এবং বিষয়গুলি সহজ রেখে, নিম্নলিখিত উদাহরণগুলি দেখায় যে কোন মানটি মূল্যায়নকে থামিয়ে দিয়েছিল এবং ফলস্বরূপ ফিরে আসে।
false || null || "" || 0 || NaN || "Hello" || undefined // "Hello"
প্রথম 5 টি পর্যন্ত মানগুলি NaN
মিথ্যা বলে মনে হয় যতক্ষণ না এটি প্রথম সত্যবাদী মানটির সাথে মিলিত হয় - যতক্ষণ না এটি "Hello"
সম্পূর্ণ এক্সপ্রেশনটিকে সত্য করে তোলে, তাই আরও কিছু মূল্যায়ন করা হবে না এবং "Hello"
অভিব্যক্তির ফলস্বরূপ ফিরে আসে । একইভাবে, এই ক্ষেত্রে:
1 && [] && {} && true && "World" && null && 2010 // null
প্রথম 5 টি মানগুলি সত্যবাদী এবং যতক্ষণ না এটি প্রথম মিথ্যা মানটি পূরণ করে ততক্ষণ মূল্যায়ন করা হয় ( null
) যা অভিব্যক্তিটিকে মিথ্যা করে তোলে, তাই 2010
আর মূল্যায়ন করা হয় না এবং null
অভিব্যক্তির ফলাফল হিসাবে ফিরে আসে।
আপনি যে উদাহরণটি দিয়েছেন তা হ'ল একটি কার্য সম্পাদনের জন্য জাভাস্ক্রিপ্টের এই সম্পত্তিটি ব্যবহার করা। এটি যেখানেই ব্যবহার করা যেতে পারে যেখানে মানগুলির একটি সেটের মধ্যে আপনাকে প্রথম সত্যবাদী বা মিথ্যা মান পেতে হবে। এই কোড নিচে মান নির্ধারণ করবে "Hello"
করার b
পরিবর্তে যদি 'অন্য চেক করছেন, যেমন সহজে ডিফল্ট মান নির্ধারণ করে তোলে।
var a = false;
var b = a || "Hello";
আপনি নীচের উদাহরণটিকে এই বৈশিষ্ট্যটির শোষণ বলে অভিহিত করতে পারেন এবং আমি বিশ্বাস করি এটি কোড পড়া আরও কঠিন করে তোলে।
var messages = 0;
var newMessagesText = "You have " + messages + " messages.";
var noNewMessagesText = "Sorry, you have no new messages.";
alert((messages && newMessagesText) || noNewMessagesText);
সতর্কতার অভ্যন্তরে, আমরা পরীক্ষা করে messages
নিচ্ছি যে মিথ্যা কিনা, এবং যদি হ্যাঁ, তবে মূল্যায়ন করুন এবং ফিরে করুন noNewMessagesText
, অন্যথায় মূল্যায়ন করুন এবং ফিরে আসুন newMessagesText
। যেহেতু এটি উদাহরণ হিসাবে মিথ্যা, তাই আমরা noNewMessagesText এবং সতর্কতা এ থামি "Sorry, you have no new messages."
।
$f=$a or $f=$b or $f=$c; // etc
। পিএইচপি-তে||
অপারেটর এবং অপারেটর উভয়ই থাকেor
, যা একই কাজ করে; যাইহোক পূর্বে মূল্যায়ন করার পরে অ্যাসাইনমেন্ট পরেor
মূল্যায়ন করা||
হয়। এটি আপনাকে মার্শাল স্টাইলটি দেয়$a=getSomething() or die('oops');