জাভাস্ক্রিপ্টে কোনও যৌক্তিক জোর নেই কেন?


উত্তর:


358

জাভাস্ক্রিপ্ট তার পূর্বসূরিটি সিটিতে ফিরে সনাক্ত করে এবং সি এর কাছে কোনও যৌক্তিক এক্সওআর অপারেটর নেই। মূলত কারণ এটি কার্যকর নয়। বিটওয়াইস এক্সওআর অত্যন্ত কার্যকর, তবে প্রোগ্রামিংয়ের আমার সমস্ত বছরগুলিতে আমার কোনও লজিকাল এক্সওআর দরকার হয়নি।

আপনার যদি দুটি বুলিয়ান ভেরিয়েবল থাকে তবে আপনি XOR এর সাথে নকল করতে পারেন:

if (a != b)

দুটি স্বেচ্ছাচারী ভেরিয়েবলের সাহায্যে আপনি !তাদের বুলিয়ান মানগুলিকে বাধ্য করতে এবং তার পরে একই কৌশলটি ব্যবহার করতে পারেন:

if (!a != !b)

যদিও এটি বেশ অস্পষ্ট এবং অবশ্যই একটি মন্তব্যের প্রাপ্য। প্রকৃতপক্ষে, আপনি এই মুহুর্তে বিটওয়াইস এক্সওআর অপারেটরটি ব্যবহার করতে পারেন, যদিও এটি আমার স্বাদের জন্য খুব চালাক হবে:

if (!a ^ !b)

একমাত্র সমস্যা !=হ'ল আপনি এর মতো কাজটি করতে পারবেন না a ^= bকারণ a !== bকেবল কঠোর বৈষম্য অপারেটর।
এমসিপিরোমান

79

জাভাস্ক্রিপ্টটিতে কিছুটা এক্সঅআর অপারেটর রয়েছে: ^

var nb = 5^9 // = 12

আপনি এটি বুলিয়ানগুলির সাথে ব্যবহার করতে পারেন এবং এটি 0 বা 1 হিসাবে ফলাফল দেবে (যা আপনি আবার বুলিয়ান রূপান্তর করতে পারেন, যেমন result = !!(op1 ^ op2))। কিন্তু জন যেমন বলেছিলেন, এটি সমান result = (op1 != op2), যা পরিষ্কার।


28
এটি বিটওয়াইজ এক্সওর, যৌক্তিক এক্সওআর নয়
ইসমাইল বাদোয়া

66
আপনি এটি একটি লজিকাল জোর হিসাবে ব্যবহার করতে পারেন। true^true0, এবং false^true1
পিক্রাস

14
@ পাইক্রাস আপনি এটি বুলিয়ানগুলিতে লজিক্যাল অপারেটর হিসাবে ব্যবহার করতে পারেন , তবে অন্য ধরণের ক্ষেত্রে নয়। ||এবং &&নন-বুলিয়ানগুলিতে লজিক্যাল অপারেটর হিসাবে ব্যবহার করা যেতে পারে (উদাহরণস্বরূপ 5 || 7সত্যবাদী মান "bob" && nullফেরত দেয়, একটি মিথ্যা মান দেয়) তবে তা ^পারে না। উদাহরণস্বরূপ, 5 ^ 7সমান 2, যা সত্য।
মার্ক অ্যামেরি

10
@ পিক্রাস তবে দুঃখের বিষয়, (true ^ false) !== trueযা এটি এমন লাইব্রেরিগুলিকে বিরক্তিকর করে
তুলেছে যেগুলিকে

2
@ পাইক্রাস আপনার কখনই বুলিয়ানতে লজিক্যাল অপারেটর হিসাবে ব্যবহার করা উচিত নয় কারণ বাস্তবায়ন ওএস নির্ভর। আমি a ^= trueবুলিয়ান টগল করতে এক ধরণের ব্যবহার করছিলাম এবং এটি ফোনের মতো কিছু মেশিনে ব্যর্থ হয়।
মাসাদো

30

জাভাস্ক্রিপ্টে কোনও আসল লজিক্যাল বুলিয়ান অপারেটর নেই (যদিও এটি !বেশ কাছাকাছি আসে)। একটি লজিকাল অপারেটর কেবল অপারেশন হিসাবে গ্রহণ করবে trueবা falseকেবল ফিরে আসবে trueবাfalse

জাভাস্ক্রিপ্ট &&এবং|| সমস্ত ধরণের অপারেশন নিন এবং সমস্ত ধরণের মজাদার ফলাফল (আপনি তাদের মধ্যে যা কিছু খাওয়ান) ফিরিয়ে দিন।

এছাড়াও একটি লজিকাল অপারেটর সর্বদা উভয় অপারেন্ডের মান বিবেচনায় নেওয়া উচিত।

জাভাস্ক্রিপ্টে &&এবং ||একটি অলস শর্টকাট নিন এবং নির্দিষ্ট ক্ষেত্রে দ্বিতীয় অপারেন্ডকে মূল্যায়ন করবেন না এবং এর পার্শ্ব প্রতিক্রিয়াগুলিকে অবহেলা করুন। এই আচরণটি একটি লজিকাল জোর দিয়ে পুনরায় তৈরি করা অসম্ভব।


a() && b()a()ফলশূন্য হলে মূল্যায়ন করে এবং ফলাফলটি প্রদান করে। অন্যথায় এটি মূল্যায়ন b()করে ফলাফলটি প্রদান করে। সুতরাং উভয় ফলাফল সত্যবাদী এবং অন্যথায় মিথ্যা বললে প্রত্যাশিত ফলাফল সত্য।

a() || b()a()সত্যটি যদি সত্য হয় তবে মূল্যায়ন করে এবং ফলাফলটি প্রদান করে। অন্যথায় এটি মূল্যায়ন b()করে ফলাফলটি প্রদান করে। সুতরাং উভয় ফলাফল মিথ্যা এবং অন্যথায় সত্যবাদী হলে প্রত্যাশিত ফলাফল মিথ্যা।

সুতরাং সাধারণ ধারণাটি প্রথমে বাম অপারেন্ডকে মূল্যায়ন করা। ডান অপরেন্ড কেবল প্রয়োজন হলে মূল্যায়ন করে। এবং শেষ মান ফলাফল হয়। এই ফলাফল কিছু হতে পারে। বস্তু, সংখ্যা, স্ট্রিং .. যাই হোক না কেন!

এটি এর মতো জিনিস লিখতে সক্ষম করে

image = image || new Image(); // default to a new Image

অথবা

src = image && image.src; // only read out src if we have an image

তবে এই "সত্য" লজিকাল অপারেটরটি সত্য বা মিথ্যা ফিরে আসত কিনা তা সিদ্ধান্ত নিতে এই ফলাফলটির সত্য মানটিও ব্যবহার করা যেতে পারে।

এটি এর মতো জিনিস লিখতে সক্ষম করে

if (typeof image.hasAttribute === 'function' && image.hasAttribute('src')) {

অথবা

if (image.hasAttribute('alt') || image.hasAttribute('title')) {

তবে একটি "যৌক্তিক" এক্সওর অপারেটর ( ^^) সর্বদা উভয় অপারেশনকে মূল্যায়ন করতে হবে। এটি অন্যান্য "যৌক্তিক" অপারেটরগুলির থেকে পৃথক করে তোলে যা কেবল প্রয়োজন হলে দ্বিতীয় অপারেন্ডকে মূল্যায়ন করে। আমি মনে করি কারণ বিভ্রান্তি এড়াতে জাভাস্ক্রিপ্টে কোনও "যৌক্তিক" জোর নেই।


সুতরাং উভয় অপারেশন মিথ্যা হয় কি হবে? দুজনেই ফেরত দেওয়া যেত। তবে কেবল একজনকেই ফেরানো যায়। কোনটি? প্রথমটি? নাকি দ্বিতীয়টি? আমার অন্তর্নিহিত আমাকে প্রথম কিন্তু সাধারণত "যৌক্তিক" অপারেটরগুলি বাম থেকে ডানে মূল্যায়ন করতে এবং শেষের মূল্যায়িত মানটি ফিরে আসতে বলে। অথবা উভয় মান সমন্বিত একটি অ্যারে হতে পারে?

এবং যদি একটি অপরেন্ড সত্যবাদী হয় এবং অন্য অপারেন্ডটি মিথ্যা হয়, তবে একটি এক্সওরকে সত্যটি ফেরত দেওয়া উচিত। বা সত্যের একটি অ্যারে হতে পারে, এটি পূর্ববর্তী কেসের সাথে সামঞ্জস্য করতে?

এবং পরিশেষে, উভয় অপারেশন সত্যবাদী হলে কি হবে? আপনি মিথ্যা কিছু আশা করবে। তবে কোনও মিথ্যা ফলাফল নেই। সুতরাং অপারেশন কিছু ফিরিয়ে দেওয়া উচিত নয়। তাই হয়তো undefinedবা .. একটি খালি অ্যারে? তবে একটি খালি অ্যারে এখনও সত্য।

অ্যারে পদ্ধতির গ্রহণ করা আপনার পছন্দ মতো শর্তের সাথে শেষ হবে if ((a ^^ b).length !== 1) {। খুবই বিভ্রান্তিকর.


কোনও ভাষার XOR / ^^ সর্বদা উভয় অপারেশনকে মূল্যায়ন করতে হবে কারণ এটি সর্বদা উভয়ের উপর নির্ভরশীল। অ্যান্ড / অ্যান্ড অ্যান্ডের ক্ষেত্রেও একই রকম, যেহেতু সমস্ত অপারেটস অবশ্যই সত্য (জেএসে সত্য) রিটার্ন পাসের হতে হবে। ব্যতিক্রম OR / || যেহেতু এটি কেবল সত্যবাদী মূল্য না পাওয়া পর্যন্ত অপারেশনগুলিকে মূল্যায়ন করতে হবে। যদি কোনও ওআর তালিকার প্রথম অপারেন্ড সত্যবাদী হয় তবে অন্যগুলির কোনওটিরই মূল্যায়ন করা হবে না।
পার্সি

আপনি একটি ভাল বক্তব্য রাখেন, তবে, জেএস-এর XOR- কে AND এবং OR দ্বারা নির্ধারিত সম্মেলনটি ভেঙে ফেলতে হবে। এটিতে দুটি অপারেটরের একটির চেয়ে যথাযথ বুলিয়ান মানটি ফিরিয়ে দিতে হবে। অন্য যে কোনও কিছু বিভ্রান্তি / জটিলতার কারণ হতে পারে।
পার্সি

9
@ পার্সি অ্যান্ড / এবং অ্যান্ড প্রথম অপরিবর্তনটি মিথ্যা হলে দ্বিতীয় অপারেন্ডকে মূল্যায়ন করে না। এটি কেবল অপারেশনগুলিকে মূল্যায়ন করে যতক্ষণ না এটি মিথ্যা মান খুঁজে পায়।
রবার্ট

@ ডিডিএস উত্তর সংশোধন করার জন্য ধন্যবাদ। আমি নিজে কেন তা খেয়াল করিনি তা নিয়ে আমি বিস্মিত হই। হয়তো এটি কিছুটা পার্সির বিভ্রান্তি ব্যাখ্যা করে।
রবার্ট

আমার সম্পাদনা প্রত্যাখ্যান করা হয়েছিল, তারপরে @ ম্যাটসগুলি ঠিক ঠিক ঠিক এটির মতো পুনঃ সম্পাদনা করেছিলেন, সুতরাং আমি আমার (মিজালি) 2 পয়েন্ট মিস করেছি। 3 জন এটিকে প্রত্যাখ্যান করেছে এবং আমি তাদের মানদণ্ড হিসাবে কী ব্যবহার করেছি তা নিয়ে আমি বিচলিত। থেক্স ম্যাটস
ডিডিএস

16

দুটি বুলিয়ানগুলির এক্সওআর হ'ল এটি পৃথক কিনা:

Boolean(a) !== Boolean(b)

12

মানগুলি বুলিয়ান রূপে রূপান্তর করুন তারপরে বিটওয়াইজ এক্সওআর নিন। এটি নন-বুলিয়ান মানগুলিতেও সহায়তা করবে।

Boolean(a) ^ Boolean(b)

10

বুলিয়ান থেকে প্রচ্ছদ এবং তারপরে xor সম্পাদন করুন -

!!a ^ !!b

1
!!a ^ !!bসমান যে নোট !a ^ !b। তর্কগুলি পড়া সহজ যা হিসাবে করা যেতে পারে।
tschwab

9

এখানে ... সাজান:

if( foo ? !bar : bar ) {
  ...
}

বা পড়তে সহজ:

if( ( foo && !bar ) || ( !foo && bar ) ) {
  ...
}

কেন? জানিনা।

কারণ জাভাস্ক্রিপ্ট বিকাশকারীরা ভাবেন যে এটি অপ্রয়োজনীয় হবে কারণ এটি অন্যান্য, ইতিমধ্যে বাস্তবায়িত, লজিকাল অপারেটর দ্বারা প্রকাশ করা যেতে পারে।

আপনি কেবল নান্দ দিয়ে জিততে পারেন এবং এটি চালিয়ে যেতে পারেন, আপনি এটি থেকে অন্য সমস্ত সম্ভাব্য লজিকাল অপারেশনকে প্রভাবিত করতে পারেন।

আমি ব্যক্তিগতভাবে মনে করি যে এর historicalতিহাসিক কারণগুলি রয়েছে যা সি-ভিত্তিক সিনট্যাক্স ভাষা থেকে চালিত হয়, যেখানে আমার জ্ঞানের জ্ঞানের উপস্থিতি নেই বা কমপক্ষে অত্যন্ত অস্বাভাবিক।


হ্যাঁ, জাভাস্ক্রিপ্টের টের্নারি অপ্স রয়েছে।
mwilcox

সি এবং জাভা উভয়েরই OR (ক্যারেট) অক্ষর ব্যবহার করে এক্সওআর রয়েছে।
ভিজিলেস

7

হ্যাঁ, কেবল নিম্নলিখিতটি করুন। ধরে নিই যে আপনি বুলেটিয়ান A এবং B নিয়ে কাজ করছেন, তবে নিম্নলিখিতটি ব্যবহার করে জাওস্ক্রিপ্টে A XOR B মান গণনা করা যেতে পারে

var xor1 = !(a === b);

পূর্ববর্তী লাইনটিও নীচের সমতুল্য

var xor2 = (!a !== !b);

ব্যক্তিগতভাবে আমি xor1 পছন্দ করি যেহেতু আমাকে কম অক্ষর টাইপ করতে হয়। আমি বিশ্বাস করি যে এক্সওর 1ও দ্রুত। এটি কেবল দুটি গণনা সম্পাদন করছে। xor2 তিনটি গণনা সম্পাদন করছে।

ভিজ্যুয়াল ব্যাখ্যা ... টেবিল বেলো পড়ুন (যেখানে 0 টি মিথ্যা এবং 1 টি সত্যের জন্য দাঁড়িয়েছে) এবং তৃতীয় এবং 5 তম কলামগুলির তুলনা করুন।

(এ === বি):

| A | B | A XOR B | A === B | !(A === B) |
------------------------------------------
| 0 | 0 |    0    |    1    |      0     |
| 0 | 1 |    1    |    0    |      1     |
| 1 | 0 |    1    |    0    |      1     |
| 1 | 1 |    0    |    1    |      0     |
------------------------------------------

উপভোগ করুন।


6
var xor1 = !(a === b);হিসাবে একইvar xor1 = a !== b;
daniel1426

এই উত্তরটি সমস্ত ডেটা ধরণের (প্রেমচন্দ্রের উত্তর হিসাবে) কাজ করবে না। যেমন !(2 === 3)হয় true, কিন্তু 23হয় truthy তাই 2 XOR 3হওয়া উচিত false
মারিয়ানো দেশানজে

2
আপনি যদি আমার বার্তাটি আরও মনোযোগ সহকারে পড়তেন তবে আপনি খেয়াল করতে পারেন যে আমি "ধরে নিয়েছি যে আপনি বুলিয়ান A এবং B নিয়ে কাজ করছেন ..." "
asiby

5

চেক আউট:

আপনি এ জাতীয় কিছু অনুকরণ করতে পারেন:

if( ( foo && !bar ) || ( !foo && bar ) ) {
  ...
}

3
আরে যদি তারা জাভাস্ক্রিপ্টে একটি লজিকাল এক্সওআর অপারেটর যুক্ত করে এটি কোড উদাহরণকে আরও পরিষ্কার দেখায়।
দানিয়াল আয়তেকিন

4

কিভাবে ফলাফলের রূপান্তর সম্পর্কে int- এ একটি থেকে bool, ডবল অস্বীকৃতি সঙ্গে? এত সুন্দর নয়, তবে সত্যিই কমপ্যাক্ট।

var state1 = false,
    state2 = true;
    
var A = state1 ^ state2;     // will become 1
var B = !!(state1 ^ state2); // will become true
console.log(A);
console.log(B);


অপারেন্ডগুলি ইতিমধ্যে বুলিয়ান না হলে এটি ব্যর্থ হবে। আরও ভাল ধারণাটি হ'লB = ((!state1)!==(!state2))
ডিন

সত্য, তবে আপনি সর্বদা অপারেশনগুলিকে কাস্ট করার জন্য তা অস্বীকার করতে পারেন, যেমন আপনি যদি প্রকারের বিষয়ে নিশ্চিত না হন তবে: B =!!(!state1 ^ !state2); এতগুলি বন্ধনী কেন? B = !state1 !== !state2; অথবা আপনি এমনকি অস্বীকৃতি বাদ দিতে পারেন:B = state1 !== state2;
লাজোস মেসজারোস

প্যারেন্টেসিস স্পষ্টতার জন্য, এবং তাই কোড লেখার সময় আমাকে অপারেটর অগ্রাধিকারে ডক্স পরীক্ষা করতে হবে না! ;-) আপনার শেষ অভিব্যক্তিটি আমার আগের অভিযোগে ভুগছে: অপারেন্ডগুলি বুলিয়ান না হলে এটি ব্যর্থ হয়। তবে আপনি যদি নিশ্চিত হন যে তারা হ'ল, তবে এটি অবশ্যই সহজতম এবং দ্রুততম "লজিকাল জোর" অভিব্যক্তি।
Doin থেকে

যদি সর্বশেষ প্রকাশের দ্বারা আপনি বোঝাতে চান state1 !== state2, তবে আপনাকে সেখানে !==কোনও ingালাই করার দরকার নেই, যেহেতু লজিকাল অপারেটর, কিছুটা বিপরীত নয়। 12 !== 4সত্য 'xy' !== trueসত্য। আপনি যদি এর !=পরিবর্তে ব্যবহার করেন !==তবে আপনাকে castালাই করতে হবে।
লাজোস মেসারোস

1
উভয়ের ফলাফল !==এবং !=সর্বদা বুলিয়ান ... আপনি যে পার্থক্যটি সেখানে করছেন তা কী তা নিশ্চিত হওয়া যায় না, এটি একেবারেই সমস্যা নয়। সমস্যাটি হ'ল আমরা যে এক্সওআর অপারেটরটি চাই তা সত্যই প্রকাশ (Boolean(state1) !== Boolean(state2))। বুলিয়ানদের জন্য, "xy", 12, 4 এবং true সমস্ত সত্যবাদী মান এবং এগুলিতে রূপান্তর করা উচিত true। তাই ("xy" XOR true)হওয়া উচিত false, কিন্তু ("xy" !== true)পরিবর্তে true, আপনি বাতলান। সুতরাং !==বা !=(উভয়) "লজিকাল এক্সওআর" এর সমতুল্য এবং কেবল যদি আপনি প্রয়োগের আগে তাদের যুক্তিগুলি বুলিয়ানগুলিতে রূপান্তর করেন ।
Doin থেকে

2

উপরে XOR ফাংশন এটি হবে অনুরূপ , ফলে যৌক্তিক XOR ঠিক যৌক্তিক XOR না এটা হবে মানে "সমান মানের জন্য FALSE" এবং "বিভিন্ন মানের জন্য সত্য" বিবেচনা ডাটা টাইপ ম্যাচিং সঙ্গে।

এই XOR ফাংশন প্রকৃত XOR বা লজিক্যাল অপারেটর হিসেবে কাজ করবে , এর পাশ মান এটা সত্য বা মিথ্যা অনুযায়ী হবে মানে truthy বা falsy । আপনার প্রয়োজন অনুযায়ী ব্যবহার করুন

function xor(x,y){return true==(!!x!==!!y);}

function xnor(x,y){return !xor(x,y);}

"xnor" "===" এর সমান।
daniel1426

@ daniel1426 যথেষ্ট নয়। এটা যেমন হয় (!!x) === (!!y)। পার্থক্য হ'ল বুলিয়ান aালাই। '' === 0মিথ্যা, যদিও xnor('', 0)সত্য।
tschwab

2

প্রকারভেদে ( সংখ্যার মানতে + পরিবর্তনগুলি):

value : number = (+false ^ +true)

তাই:

value : boolean = (+false ^ +true) == 1

@ শেরফ সাধারণ জাভাস্ক্রিপ্টে, !!(false ^ true)বুলিয়ানগুলির সাথে দুর্দান্ত কাজ করে। টাইপস্ক্রিপ্টে, + এটি বৈধ করার জন্য প্রয়োজনীয় !!(+false ^ +true)
পিএফজি

1

cond1 xor cond2সমান cond1 + cond 2 == 1:

প্রমাণ এখানে:

let ops = [[false, false],[false, true], [true, false], [true, true]];

function xor(cond1, cond2){
  return cond1 + cond2 == 1;
}

for(op of ops){
  console.log(`${op[0]} xor ${op[1]} is ${xor(op[0], op[1])}`)
}


0

লজিকাল এক্সওআর (^^) না থাকার কারণটি হল && এবং || এর বিপরীতে এটি কোনও অলস-যুক্তিযুক্ত সুবিধা দেয় না। এটি ডান এবং বামে উভয় এক্সপ্রেশনের অবস্থা মূল্যায়ন করতে হবে।


0

এখানে একটি বিকল্প সমাধান যা 2+ ভেরিয়েবলের সাথে কাজ করে এবং বোনাস হিসাবে গণনা সরবরাহ করে।

যেকোন সত্যবাদী / মিথ্যা মানগুলির জন্য লজিকাল এক্সওর অনুকরণ করার জন্য এখানে আরও সাধারণ সমাধান রয়েছে, ঠিক যেমন যদি আপনার স্ট্যান্ডার্ড আইএফ স্টেটমেন্টে অপারেটর থাকে:

const v1 = true;
const v2 = -1; // truthy (warning, as always)
const v3 = ""; // falsy
const v4 = 783; // truthy
const v5 = false;

if( ( !!v1 + !!v2 + !!v3 + !!v4 + !!v5 ) === 1 )
  document.write( `[ ${v1} XOR ${v2} XOR "${v3}" XOR ${v4} XOR ${v5} ] is TRUE!` );
else
  document.write( `[ ${v1} XOR ${v2} XOR "${v3}" XOR ${v4} XOR ${v5} ] is FALSE!` );

আমার এটি পছন্দ করার কারণটি হ'ল এটির উত্তর "এইগুলির মধ্যে কতগুলি সত্যবাদী?", তাই আমি সাধারণত ফলাফলটি পূর্ব-সঞ্চয় করি।

এবং যারা কঠোর বুলিয়ান-সত্য xor চেক আচরণ চান, তাদের জন্য ঠিক করুন:

if( ( ( v1===true ) + ( v2===true ) + ( v3===true ) + ( v4===true ) + ( v5===true ) ) === 1 )
  // etc.

যদি আপনি গণনা সম্পর্কে চিন্তা করেন না, বা যদি আপনি সর্বোত্তম পারফরম্যান্সের বিষয়ে চিন্তা করেন: তবে সত্যবাদী / মিথ্যা সমাধানের জন্য বুলিয়ানকে জোর করা মানগুলিতে কেবল বিটওয়াইস জোর ব্যবহার করুন:

if( !!v1 ^ !!v2 ^ !!v3 ^ !!v4 ^ !!v5 )
  // etc.

0

আরে আমি জাভাস্ক্রিপ্ট এবং টাইপস্ক্রিপ্টে এক্সওআর তৈরি করতে এই সমাধানটি পেয়েছি।

if( +!!a ^ +!!b )
{
  //This happens only when a is true and b is false or a is false and b is true.
}
else
{
  //This happens only when a is true and b is true or a is false and b is false
}

-2

এই সংক্ষিপ্ত এবং সহজে একটি বোঝার চেষ্টা করুন

function xor(x,y){return true==(x!==y);}

function xnor(x,y){return !xor(x,y);}

এটি যে কোনও ডেটা ধরণের জন্য কাজ করবে


3
এটি সমস্ত ডেটা ধরণের জন্য কাজ করে না। লজিকাল টাইপের কোর্সিং অপারেটরের মতো আমিও "foo" xor "বার" মিথ্যা বলে আশা করব, কারণ উভয়ই সত্যবাদী। আপনার ফাংশনের ক্ষেত্রে এটি বর্তমানে নেই। সাধারণত, করা true == somebooleanপ্রয়োজন হয় না, তাই সত্যই, আপনি যা করেছেন তা হ'ল কঠোর সমানকে কোনও ফাংশনে আবৃত করে।
গিজস

হাই জিজি, আমি আপনার যুক্তিটির সাথে একমত, "ফু" এবং "বার" সত্যবাদী মান। তবে আমি ফাংশনটি মাথায় রেখে লিখি যে এটি একই ধরণের ফলাফল হিসাবে জোরের (অন-সম-মানগুলির ফল সত্য, সমান মানগুলি মিথ্যা ফল দেয়) কেবল সত্যবাদী / মিথ্যা মানের জন্য নয়। এবং আমি এই জাতীয় দৃশ্যে আরও ব্যবহার খুঁজে পেয়েছি। তবে আমি নীচে অন্য উত্তরে সত্য যুক্তিযুক্ত জোর লিখছি।
প্রেমচন্দ্র সিং
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.