এই উত্তরটি coffeescript এর পুরানো সংস্করণের জন্য। আপনি যদি আপ-টু ডেট উত্তর চান তবে উপরের জায়েদারের উত্তর দেখুন (জুলাই ২০১৪)
এই কফিসক্রিপ্টটি আপনি যা চান তা করেন:
if not MyVariable?
MyVariable = "assign a value"
যা উত্পাদন করে:
if (!(typeof MyVariable !== "undefined" && MyVariable !== null)) {
MyVariable = "assign a value";
}
এনবি যদি আপনি MyVariable
প্রথমে কোনও অ্যাসাইনমেন্ট করেন , MyVariable
আপনি এই কোড হিসাবে যেমন অপরিজ্ঞাত করে রেখেছেন তবুও এটি সংকলন করে:
if (!(MyVariable != null)) {
MyVariable = "assign a value";
}
আমি বিশ্বাস করি এটি কাজ করে কারণ !=
কফি স্ক্রিপ্টস দ্বারা ব্যবহৃত Existential Operator
(প্রশ্ন চিহ্ন) undefined
সমান হতে কোয়ার্স করে null
।
PS আপনি আসলে if (MyVariable?false){ ... }
কাজ পেতে পারেন? অস্তিত্বমূলক অপারেটর এবং মিথ্যা এর মধ্যে কোন স্থান না থাকলে এটি আমার জন্য সংকলন করে না, MyVariable? false
যা কফি স্ক্রিপ্টটিকে এটি কোনও ফাংশনের মতো করে পরীক্ষা করে তোলে কারণ false
এটি মনে করে যে এটি আপনার পরামিতি MyVariable
, যেমন :
if MyVariable? false
alert "Would have attempted to call MyVariable as a function"
else
alert "but didn't call MyVariable as it wasn't a function"
উত্পাদন:
if (typeof MyVariable === "function" ? MyVariable(false) : void 0) {
alert("Would have attempted to call MyVariable as a function");
} else {
alert("but didn't call MyVariable as it wasn't a function");
}