আমি কীভাবে if
জাভাস্ক্রিপ্টে একটি ইনলাইন বিবৃতি ব্যবহার করতে পারি ? একটি ইনলাইন else
বিবৃতি আছে ?
এটার মতো কিছু:
var a = 2;
var b = 3;
if(a < b) {
// do something
}
আমি কীভাবে if
জাভাস্ক্রিপ্টে একটি ইনলাইন বিবৃতি ব্যবহার করতে পারি ? একটি ইনলাইন else
বিবৃতি আছে ?
এটার মতো কিছু:
var a = 2;
var b = 3;
if(a < b) {
// do something
}
উত্তর:
অগত্যা আপনার jQuery দরকার নেই। জাভাস্ক্রিপ্ট একা এটি করবে।
var a = 2;
var b = 3;
var c = ((a < b) ? 'minor' : 'major');
c
পরিবর্তনশীল হতে হবে minor
যদি মান true
এবং major
যদি মান false
।
এটি একটি শর্তসাপেক্ষ (ত্রিনিয়ারি) অপারেটর হিসাবে পরিচিত।
https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Operators/Conditional_Operator
if (a < b) c = 'major';
if
স্টেটমেন্ট ইনলাইন লেখার জন্য , এর অভ্যন্তরের কোডটি কেবলমাত্র একটি বিবৃতি হওয়া উচিত:
if ( a < b ) // code to be executed without curly braces;
এখানে একটি টার্নারি অপারেটর রয়েছে:
var c = (a < b) ? "a is less than b" : "a is not less than b";
0 < 1 : 5 : 120;
একটি নিখুঁত বৈধ বিবৃতি। যদিও আপনাকে প্রতি লাইনে অর্থ প্রদান না করা হয় তবে অকেজো
if
স্টেটমেন্টটি ব্যবহার করা আপনার কোডটি সম্ভবত পড়তে ও বুঝতে সহজতর করবে এবং পরবর্তী পরিবর্তনের ফলে ভাঙার সম্ভাবনা কম।
আপনি / যদি অন্য কোনও লজিকাল অপারেটর ব্যবহার করে তবে আপনি আনুমানিকও আনতে পারেন।
(a && b) || c
উপরেরটি মোটামুটি একইভাবে বলেছে:
a ? b : c
এবং অবশ্যই, প্রায় হিসাবে একই:
if ( a ) { b } else { c }
আমি মোটামুটিভাবে বলছি কারণ এই পদ্ধতির সাথে একটি পার্থক্য রয়েছে, এটি আপনাকে জানতে হবে যে এর মানটি b
সত্য হিসাবে মূল্যায়ন করবে, অন্যথায় আপনি সর্বদা পাবেন c
। মূলত আপনাকে বুঝতে হবে যে অংশটি প্রদর্শিত হবে if () { here }
তা এখন আপনার অবস্থার একটি অংশ if ( here ) { }
।
লজিক্যাল এক্সপ্রেশন গঠনকারী মূল মানগুলির মধ্যে একটি পাস / ফিরিয়ে দেওয়ার জাভাস্ক্রিপ্টের আচরণের কারণে উপরেরটি সম্ভব, যা অপারেটরের ধরণের উপর নির্ভর করে। পিএইচপি-র মতো কয়েকটি অন্যান্য ভাষাও অপারেশনের আসল ফলাফল অর্থাৎ সত্য বা মিথ্যা বহন করে, যার অর্থ ফলাফল সর্বদা সত্য বা মিথ্যা; উদাহরণ:
14 && 0 /// results as 0, not false
14 || 0 /// results as 14, not true
1 && 2 && 3 && 4 /// results as 4, not true
true && '' /// results as ''
{} || '0' /// results as {}
একটি সাধারণ যদি বিবৃতিটির সাথে তুলনা করা হয় তবে তার একটি প্রধান সুবিধা হ'ল প্রথম দুটি পদ্ধতি একটি অ্যাসাইনমেন্টের অংশ হিসাবে আর্গুমেন্টের ডানদিকে রেখে কাজ করতে পারে।
d = (a && b) || c;
d = a ? b : c;
if `a == true` then `d = b` else `d = c`
স্ট্যান্ডার্ডের সাথে এটি অর্জনের একমাত্র উপায় যদি বিবৃতিটি হ'ল নকলটি হ'ল:
if ( a ) { d = b } else { d = c }
আপনি জিজ্ঞাসা করতে পারেন কেন ব্যবহার শুধু লজিক্যাল অপারেটর পরিবর্তে তিন অপারেটর , সহজ মামলা করার জন্য আপনাকে সম্ভবত না would, যদি না আপনি নিশ্চিত করতে চেয়েছিলেন a
এবং b
উভয় সত্য। ' আপনি লজিকাল অপারেটরগুলির সাথে আরও প্রবাহিত জটিল পরিস্থিতিও অর্জন করতে পারেন যা নেস্টেড টের্নারি অপারেশনগুলি ব্যবহার করে বেশ অগোছালো হয়ে উঠতে পারে ... তারপরে আবারও যদি আপনি চান যে আপনার কোডটি সহজেই পঠনযোগ্য হয়, তবে সত্যই তা স্বজ্ঞাত নয়।
সরল ইংরেজিতে সিনট্যাক্স ব্যাখ্যা করেছে:
if(condition){
do_something_if_condition_is_met;
}
else{
do_something_else_if_condition_is_not_met;
}
হিসাবে লেখা যেতে পারে:
condition ? do_something_if_condition_is_met : do_something_else_if_condition_is_not_met;
condition ? true
true
false
এবং ""
সমস্ত অংশ অন্য অংশ অবহেলা করা উচিত।
2 == 2 ? doSomething()
কি একই হবে if (2 == 2) doSomething()
?
: false
বা : ""
জাভাস্ক্রিপ্টটি যেমনটি আশা করছে সেখানে থাকতে হবে।
এফওয়াইআই, আপনি শর্তসাপেক্ষ অপারেটরগুলি রচনা করতে পারেন
var a = (truthy) ? 1 : (falsy) ? 2 : 3;
যদি আপনার যুক্তি যথেষ্ট জটিল হয় তবে আপনি একটি আইআইএফই ব্যবহার বিবেচনা করতে পারেন
var a = (function () {
if (truthy) return 1;
else if (falsy) return 2;
return 3;
})();
অবশ্যই, আপনি যদি এই যুক্তিটি একাধিকবার ব্যবহার করার পরিকল্পনা করেন তবে জিনিসগুলি সুন্দর এবং ডিআরআই রাখার জন্য আপনাকে কোনও ফাংশনে এটি আবদ্ধ করতে হবে।
প্রশ্নটি মূলত নয়: আমি কি নিম্নলিখিতগুলি লিখতে পারি?
if (foo)
console.log(bar)
else
console.log(foo + bar)
উত্তরটি হ্যাঁ, উপরেরটি অনুবাদ করবে।
তবে, নিম্নলিখিতগুলি থেকে সাবধান থাকুন
if (foo)
if (bar)
console.log(foo)
else
console.log(bar)
else
console.log(foobar)
উপরেরগুলি একটি ব্যতিক্রম ছুঁড়ে ফেলবে (এবং অনুরূপ অনুক্রমগুলি অনাকাঙ্ক্ষিত আচরণ তৈরি করবে produce