X = x || কি নির্মাণ করে? মানে?


250

আমি কিছু জাভাস্ক্রিপ্ট ডিবাগ করছি, এবং এটি কী তা ব্যাখ্যা করতে পারে না ||?

function (title, msg) {
  var title = title || 'Error';
  var msg   = msg || 'Error on Request';
}

কেউ আমাকে একটি ইঙ্গিত দিতে পারে, কেন এই লোকটি ব্যবহার করছে var title = title || 'ERROR'? আমি মাঝে মাঝে এটি কোনও varঘোষণা ছাড়াই দেখতে পাই ।


44
মানুষ ইতিমধ্যে এই উত্তর ... কিন্তু এটা সত্য যে দ্বিতীয় মান নির্বাচিত অত্যন্ত সচেতন হতে যদি প্রথম মান falsy, শুধু না undefined। আমি কতবার দেখেছি doWeDoIt = doWeDoIt || true, আমাকে কাঁদতে যথেষ্ট। (যেমন doWeDoItএখন আর হবে না false)
ম্যাট


4
সি # এর সাথে যাদের অভিজ্ঞতা রয়েছে তাদের ক্ষেত্রে ডাবল পাইপ অপারেটর নাল-কোলেস অপারেটরের সমতুল্য ??। জাভাস্ক্রিপ্ট অ নাল বস্তু মূল্যায়ণ মত true (অথবা ভাল evalualtes মিথ্যাতে বস্তু বাতিল)
usr ডিরেক্টরির-স্থানীয়-ΕΨΗΕΛΩΝ

3
খারাপ লাগবেন না - জেএস হ'ল একমাত্র বোকা ভাষা যা এই ভয়াবহ কোডিংয়ের অনুমতি দেয় .... এটি এবং শেখানো যে এটি প্রতিটি ফাংশনকে কোডের লাইনে বাসা বাঁধাই যথাযথ এবং এটিকে দ্বিতীয়বারের মতো নিষ্পত্তিযোগ্য এবং অযোগ্য ব্যবহার করে ফেলে দেওয়া উপযুক্ত। :) আমি কোডিংয়ে ৩০ বছর বয়সী এবং জেএসের স্পর্শ বন্ধ করেছিলাম যতক্ষণ না আমি নিজেই আগে থেকেছি এবং আমি আপনার ব্যথা অনুভব করি যা আমি বলতে পারি, একটি "বুদ্ধি বোধ করি না, এটি কেবল জেএসের মধ্যেই থাকে" চিঠিপত্রটি কেবলমাত্র আমিই একমাত্র উপায় ' পেয়েছি! :)
কলিন চ্যাফিন

1
দয়া করে আমার উত্তরের গ্রহণযোগ্য উত্তরটি বিবেচনা করুন ।
মিশা পেরেকোভস্কি

উত্তর:


210

এর অর্থ হল titleযুক্তিটি isচ্ছিক। সুতরাং আপনি যদি কোনও যুক্তি ছাড়াই পদ্ধতিটি কল করেন তবে এটির ডিফল্ট মান ব্যবহার করা হবে "Error"

এটি লেখার জন্য শর্টহ্যান্ড:

if (!title) {
  title = "Error";
}

বুলিয়ান এক্সপ্রেশন সহ এই জাতীয় শর্টহ্যান্ড ট্রিক পার্লেও প্রচলিত। অভিব্যক্তি সহ:

a OR b

এটা মূল্যায়ন করতে trueযদি পারেন aবা bহয় true। সুতরাং যদি aসত্য হয় তবে আপনাকে এখুনি পরীক্ষা bকরার দরকার নেই । একে সংক্ষিপ্ত-সার্কিট বুলিয়ান মূল্যায়ন বলা হয়:

var title = title || "Error";

মূলত যদি titleমূল্যায়ন করা হয় তা পরীক্ষা করে দেখুন false। এটি যদি করে তবে এটি "রিটার্ন" করে "Error", অন্যথায় এটি ফিরে আসে title


3
বাছাই হওয়ার জন্য দুঃখিত, তবে যুক্তিটি
alচ্ছিক

4
এটি উত্তর নয় এবং আমি শেষ মন্তব্যের সাথে একমত হয়েছি এটি এমনকি optionচ্ছিকও নয়। এই উত্তরের কোনও অংশই পার্ল রেফারেন্স সঠিক নয় যেহেতু পার্ল বিবৃতি আসলে SENSE তৈরি করে এবং একে সম্পূর্ণ ভিন্ন উপায়ে মূল্যায়ন করা হয়। জেএস আরও অনেক "রূপান্তরিত" বুলিয়ান লজিক পদ্ধতিতে স্পষ্ট যে আমিও পড়তে / লিখতে আরও বিভ্রান্তি পাই। "ডাবল পাইপ অপারেটর কী" শিরোনামের উত্তরটি আসলে একটি সঠিক উত্তর।
কলিন চাফিন

198

ডাবল পাইপ অপারেটর ( ||) কী?

ডাবল পাইপ অপারেটর ( ||) লজিকাল ORঅপারেটর । ইন বেশির ভাগ ভাষায় এটি নিম্নলিখিত পদ্ধতিতে কাজ করে:

  • যদি প্রথম মান হয় falseতবে এটি দ্বিতীয় মানটি পরীক্ষা করে। যদি এটি হয় তবে এটি trueফিরে আসে trueএবং যদি তা থাকে তবে falseতা ফিরে আসে false
  • যদি প্রথম মান হয় তবে trueএটি সর্বদা ফিরে আসে true, দ্বিতীয় মানটি যাই হোক না কেন।

সুতরাং মূলত এটি এই ফাংশনটির মতো কাজ করে:

function or(x, y) {
  if (x) {
    return true;
  } else if (y) {
    return true;
  } else {
    return false;
  }
}

আপনি এখনও বুঝতে না পারলে এই টেবিলটি দেখুন:

      | true   false  
------+---------------
true  | true   true   
false | true   false  

অন্য কথায়, এটি তখনই মিথ্যা হয় যখন উভয় মান মিথ্যা হয়।

এটি জাভাস্ক্রিপ্টে কীভাবে আলাদা?

জাভাস্ক্রিপ্টটি কিছুটা আলাদা, কারণ এটি একটি স্বচ্ছভাবে টাইপ করা ভাষা । এই ক্ষেত্রে এর অর্থ হ'ল আপনি ||বুলিয়ান নয় এমন মান সহ অপারেটর ব্যবহার করতে পারেন । যদিও এটি কোনও তাত্পর্যপূর্ণ নয়, আপনি উদাহরণস্বরূপ একটি ফাংশন এবং একটি অবজেক্ট সহ এই অপারেটরটি ব্যবহার করতে পারেন:

(function(){}) || {}

সেখানে কি হয়?

মানগুলি বুলিয়ান না হলে, জাভাস্ক্রিপ্ট বুলিয়ানকে অন্তর্নিহিত রূপান্তর করে । এর মানে যদি মান falsey (যেমন 0, "", null, undefined(এছাড়াও দেখুন জাভাস্ক্রিপ্ট সকল falsey মান , এটা বলে গণ্য হবে)) false; অন্যথায় এটি হিসাবে চিকিত্সা করা হয় true

সুতরাং উপরের উদাহরণটি দেওয়া উচিত true, কারণ খালি ফাংশন সত্য। ভাল, এটা না। এটি খালি ফাংশন প্রদান করে। এর কারণ জাভাস্ক্রিপ্টের ||অপারেটরটি শুরুতে লিখেছিলাম বলে কাজ করে না। এটি নিম্নলিখিত পদ্ধতিতে কাজ করে:

  • তাহলে প্রথম মান falsey , এটা ফেরৎ দ্বিতীয় মান
  • তাহলে প্রথম মান truthy , এটা ফেরৎ প্রথম মান

অবাক? আসলে এটি প্রচলিত ||অপারেটরের সাথে "সামঞ্জস্যপূর্ণ" । এটি নিম্নলিখিত ফাংশন হিসাবে লেখা যেতে পারে:

function or(x, y) {
  if (x) {
    return x;
  } else {
    return y;
  }
}

যদি আপনি সত্যবাদী মান হিসাবে পাস করেন তবে xএটি প্রত্যাবর্তন করবে, এটি xসত্যবাদী মান। সুতরাং আপনি যদি পরবর্তীকালে এটি ব্যবহার করেন if:

(function(x, y) {
  var eitherXorY = x || y;
  if (eitherXorY) {
    console.log("Either x or y is truthy.");
  } else {
    console.log("Neither x nor y is truthy");
  }
}(true/*, undefined*/));

আপনি পেতে "Either x or y is truthy."

যদি xমিথ্যা ছিল, eitherXorYহবে y। এই ক্ষেত্রে আপনি "Either x or y is truthy."যদি yসত্যবাদী হন; অন্যথায় আপনি পাবেন "Neither x nor y is truthy"

আসল প্রশ্ন

এখন, যখন আপনি জানেন যে ||অপারেটর কীভাবে কাজ করে, আপনি সম্ভবত তার x = x || yঅর্থ কী তা বোঝাতে পারেন। যদি xসত্যবাদী হয়, xবরাদ্দ করা হয় x, তাই আসলে কিছুই হয় না; অন্যথায় yনির্ধারিত হয় x। এটি সাধারণত ফাংশনে ডিফল্ট পরামিতিগুলি সংজ্ঞায়িত করতে ব্যবহৃত হয়। যাইহোক, এটি প্রায়শই একটি খারাপ প্রোগ্রামিং অনুশীলন হিসাবে বিবেচিত হয় , কারণ এটি আপনাকে প্যারামিটার হিসাবে একটি মিথ্যা মান (যা অগত্যা নয় undefinedবা null) পাস করতে বাধা দেয় । নিম্নলিখিত উদাহরণ বিবেচনা করুন:

function badFunction(/* boolean */flagA) {
  flagA = flagA || true;
  console.log("flagA is set to " + (flagA ? "true" : "false"));
}

এটি প্রথম দর্শনে বৈধ দেখায়। তবে, আপনি যদি প্যারামিটার falseহিসাবে পাস করেন তবে কী হবে flagA(যেহেতু এটি বুলিয়ান, অর্থাত্ হতে পারে trueবা false)? এটা হয়ে যাবে trueএই উদাহরণে, সেট flagAকরার কোনও উপায় নেই false

এটা একটা ভালো ধারণা স্পষ্টভাবে কি না চেক করতে হবে flagAহয় undefinedযে মত:

function goodFunction(/* boolean */flagA) {
  flagA = typeof flagA !== "undefined" ? flagA : true;
  console.log("flagA is set to " + (flagA ? "true" : "false"));
}

যদিও এটি দীর্ঘতর, এটি সর্বদা কাজ করে এবং এটি বোঝা সহজ।


আপনি ডিফল্ট ফাংশন প্যারামিটারগুলির জন্য ES6 সিনট্যাক্সটিও ব্যবহার করতে পারেন তবে নোট করুন যে এটি পুরানো ব্রাউজারগুলিতে (IE এর মত) কাজ করে না। এইসব ব্রাউজার সমর্থন করতে চান তাহলে আপনি আপনার কোড transpile উচিত হট্টগোল

এমডিএন-তে লজিকাল অপারেটরগুলিও দেখুন ।


13
+1 - এখন পর্যন্ত সবচেয়ে সঠিক এবং সম্পূর্ণ উত্তর। এবং, যারা এই প্রশ্নটি নিয়ে আছেন তাদের জন্য (জেএস-তে নতুন কিছু প্রবীণ কোডার অন্তর্ভুক্ত) অবশ্যই এই লাইনে এই পুরো উত্তরটির সর্বাধিক দৃষ্টি নিবদ্ধ করা উচিত: "যদিও এটি কোনও অর্থ দেয় না" কারণ এই "লসলে টাইপড" কেবল কখনও অর্থবোধ করবে না আমাদের মধ্যে যারা এটি ছাড়া বেড়েছে। আমাদের জন্য, একটি বুলিয়ান অপারেটর কেবল এটি এবং কেবলমাত্র ...... এবং যারাই কখনও ভেবেছিলেন এটি বুলিনের অ-বুলিয়ান রূপান্তরকৃত কোডগুলি পড়ার / লেখার সময় বন্ধ করার এবং চিন্তাভাবনা করা ভাল ধারণা হবে code , সেদিন তাদের মেডগুলি নিতে ভুলে গেছি! :)
কলিন চ্যাফিন

2
+1, সংক্ষেপে: title = title || 'Error'অর্থif (title) { title = title; } else { title = 'Error'; }
আন্দ্রে এলরিকো

আমি আসলে "যদিও এটি কোনও অর্থ দেয় না" লাইনটির সাথে একমত নই। আমি বুঝতে পারি যে লাইনটি সিতে সংকলন করবে না, উদাহরণস্বরূপ, তবে আপনি যদি রুবি থেকে এসেছেন উদাহরণস্বরূপ, বা গ্রোভির থেকেও এটি ভালভাবে বোঝা যাচ্ছে। রুবিতে আপনি এটি আরও খাটো হিসাবে প্রকাশ করতে পারেন title ||= 'Error'
ইলিয়ট নেলসন

28

শিরোনামটি সেট না করা থাকলে ডিফল্ট মান হিসাবে 'ERROR' ব্যবহার করুন।

আরও জেনেরিক:

var foobar = foo || default;

পড়ুন: fooঅথবা এ fooبار সেট করুন default। এমনকি আপনি এটি অনেক বার চেইন করতে পারেন:

var foobar = foo || bar || something || 42;

1
আমি এটি বিভ্রান্তিকর বলে মনে করি কারণ ভেরিয়েবলগুলির একই নাম রয়েছে। অনেক সহজ যখন তারা না করে।
নরবার্ট নবার্টসন

14

এটি আরও কিছুটা ব্যাখ্যা করে ...

||অপারেটর logical- হয় orঅপারেটর। প্রথম অংশটি সত্য হলে ফলাফলটি সত্য এবং দ্বিতীয় অংশটি সত্য হলে সত্য এবং উভয় অংশই সত্য হলে সত্য। স্পষ্টতার জন্য, এটি একটি টেবিলে রয়েছে:

 X | Y | X || Y 
---+---+--------
 F | F |   F    
---+---+--------
 F | T |   T    
---+---+--------
 T | F |   T    
---+---+--------
 T | T |   T    
---+---+--------

এখন এখানে কিছু লক্ষ্য করবেন? যদি Xসত্য হয়, ফলাফল সর্বদা সত্য। সুতরাং আমরা যদি Xএটি সত্য জানি তবে আমাদের একেবারে চেক Yকরতে হবে না। যৌক্তিক- or(এবং যৌক্তিক- andঅন্য দিক থেকে আসা) জন্য অনেকগুলি ভাষা এইভাবে "শর্ট সার্কিট" মূল্যায়নকারী প্রয়োগ করে । তারা প্রথম উপাদানটি পরীক্ষা করে এবং যদি এটি সত্য হয় তবে তারা দ্বিতীয় চেক করা মোটেই বিরক্ত করে না। ফলাফলটি (যৌক্তিক ভাষায়) একই, তবে মৃত্যুদন্ডের ক্ষেত্রে দ্বিতীয় উপাদানটি গণনা করা ব্যয়বহুল হলে সম্ভাব্যত বিশাল পার্থক্য রয়েছে।

সুতরাং এটি আপনার উদাহরণ সঙ্গে কি আছে?

var title   = title || 'Error';

চলুন এটি তাকান। titleউপাদান আপনার ফাংশনে পাস করা হয়। জাভাস্ক্রিপ্টে যদি আপনি কোনও প্যারামিটারে পাস না করেন তবে এটি একটি নাল মানকে ডিফল্ট করে। এছাড়াও জাভাস্ক্রিপ্টে যদি আপনার ভেরিয়েবলের নাল মান হয় তবে এটি লজিকাল অপারেটররা মিথ্যা বলে বিবেচিত হবে। সুতরাং যদি এই ফাংশনটি প্রদত্ত শিরোনামের সাথে ডাকা হয়, এটি একটি অ-মিথ্যা মান এবং এভাবে স্থানীয় ভেরিয়েবলকে বরাদ্দ করা হয়। তবে, যদি এটির মান দেওয়া না হয় তবে এটি একটি নাল মান এবং এভাবে মিথ্যা। লজিকাল- orঅপারেটর দ্বিতীয় বিবরণটি মূল্যায়ন করে পরিবর্তে 'ত্রুটি' দেয়। সুতরাং এখন স্থানীয় ভেরিয়েবলকে 'ত্রুটি' মান দেওয়া হয়।

এটি জাভাস্ক্রিপ্টে লজিক্যাল এক্সপ্রেশন বাস্তবায়নের কারণে কাজ করে। এটি যথাযথ বুলিয়ান মান ( trueবা false) ফেরত দেয় না বরং এর পরিবর্তে কোনটি কোনও সমতুল্য trueএবং কোনটি সমতুল্য বলে বিবেচিত হয় সেটিকে কিছু নিয়মের অধীনে প্রদান করা মানটি দেয় false। বুলিয়ান প্রসঙ্গে জাভাস্ক্রিপ্টটি সত্য বা মিথ্যা বলে বিবেচনা করে তা জানতে আপনার জাভাস্ক্রিপ্টের রেফারেন্সটি দেখুন।


8

ডাবল পাইপটি যৌক্তিক "OR" এর জন্য বোঝায়। "প্যারামিটার সেট না করা" আসলে এটি নয়, জাভাস্ক্রিপ্টে কঠোরভাবে যদি আপনার কোড থাকে তবে:

function foo(par) {
}

তারপরে কল দেয়

foo()
foo("")
foo(null)
foo(undefined)
foo(0)

সমতুল্য নয়।

ডাবল পাইপ (||) বুলিয়ান প্রথম যুক্তি নিক্ষেপ করবে এবং ফলস্বরূপ বুলিয়ান সত্য হলে - কাজটি করুন নাহলে এটি সঠিক অংশটি বরাদ্দ করবে।

আপনি যদি আনসেট প্যারামিটারটি পরীক্ষা করেন তবে এটি গুরুত্বপূর্ণ।

ধরা যাক, আমাদের একটি ফাংশন সেটস্যালারি রয়েছে যার একটি optionচ্ছিক প্যারামিটার রয়েছে। যদি ব্যবহারকারী প্যারামিটার সরবরাহ না করে তবে 10 এর ডিফল্ট মান ব্যবহার করা উচিত।

আপনি যদি চেকটি এভাবে করেন:

function setSalary(dollars) {
    salary = dollars || 10
}

এটি কলের মতো অপ্রত্যাশিত ফলাফল দেবে

setSalary(0) 

এটি এখনও উপরে বর্ণিত প্রবাহ অনুসরণ করে 10 টি সেট করবে।


8

মূলত এটি যাচাইয়ের আগে মানটি || সত্য হিসাবে মূল্যায়ন করে, যদি হ্যাঁ, এটি এই মানটি নেয়, যদি তা না হয় তবে এটি || এর পরে মানটি নেয়।

যে মানগুলির জন্য এটি || এর পরে মান নেবে || (আমি যত দূর মনে করতে পারি):

  • অনির্দিষ্ট
  • মিথ্যা
  • 0
  • '' (নাল বা নাল স্ট্রিং)

1
মিথ্যা || নাল || অপরিবর্তিত || 0 || '' || 'আপনি নাল ভুলে গেছেন'
ডিজিমিড

7

ক্লেটাসের উত্তরটি সঠিক হলেও আমি মনে করি জাভাস্ক্রিপ্টে "মিথ্যাতে মূল্যায়ন করার" ক্ষেত্রে আরও বিশদ যুক্ত করা উচিত।

var title = title || 'Error';
var msg   = msg || 'Error on Request';

কেবল শিরোনাম / চিহ্ন সরবরাহ করা হয়েছে কিনা তা যাচাই করে না, তবে এর মধ্যে দুটিরও মিথ্যা রয়েছে কিনা । অর্থাত্ নীচের একটি:

  • মিথ্যা।
  • 0 (শূন্য)
  • "" (খালি স্ট্রিং)
  • খালি.
  • undefined।
  • NaN (একটি বিশেষ সংখ্যা মান যার অর্থ নং-এ-সংখ্যা!)

লাইনে তাই

var title = title || 'Error';

যদি শিরোনাম সত্যবাদী হয় (যেমন, মিথ্যা নয়, সুতরাং শিরোনাম = "শিরোনামমেসেজ" ইত্যাদি) তবে বুলিয়ান ওআর (||) অপারেটর একটি 'সত্য' মান খুঁজে পেয়েছে যার অর্থ এটি সত্যের সাথে মূল্যায়ন করে, তাই এটি শর্ট সার্কিট এবং রিটার্ন দেয় আসল মান (শিরোনাম)।

যদি শিরোনামটি মিথ্যা হয় (উদাহরণস্বরূপ উপরের তালিকার মধ্যে একটি), তবে বুলিয়ান ওআর (||) অপারেটর একটি 'মিথ্যা' মান খুঁজে পেয়েছে এবং এখন অপারেটরের অন্যান্য অংশ 'ত্রুটি' মূল্যায়ন করতে হবে যা সত্যকে মূল্যায়ন করে , এবং তাই ফিরে আসে।

এটিও মনে হবে (কিছু তাড়াতাড়ি ফায়ারবগ কনসোল পরীক্ষার পরে) অপারেটরের উভয় পক্ষই যদি মিথ্যা হিসাবে মূল্যায়ন করে তবে এটি দ্বিতীয় 'মিথ্যাবাদী' অপারেটরকে ফিরিয়ে দেয়।

অর্থাত

return ("" || undefined)

অপরিবর্তিত অপরিবর্তিত, সম্ভবত শিরোনাম / বার্তা "" -কে ডিফল্ট করার চেষ্টা করার সময় আপনাকে এই প্রশ্নে জিজ্ঞাসা করা আচরণটি ব্যবহার করার অনুমতি দেয়। অর্থাৎ দৌড়ানোর পরে

var foo = undefined
foo = foo || ""

foo "" সেট করা হবে


5

ডাবল পাইপ অপারেটর

এই উদাহরণ কি দরকারী?

var section = document.getElementById('special');
if(!section){
     section = document.getElementById('main');
}

এটি ও হতে পারে

var section = document.getElementById('special') || document.getElementById('main');

4

আমার আগে সকলের কাছে কিছু ব্যাখ্যা যুক্ত করার জন্য, আমার উচিত আপনার যৌক্তিক ধারণাগুলি বোঝার জন্য কয়েকটি উদাহরণ।

var name = false || "Mohsen"; # name equals to Mohsen
var family = true || "Alizadeh" # family equals to true

এর অর্থ যদি বাম দিকটি সত্য বিবৃতি হিসাবে মূল্যায়ন করা হয় তবে এটি সমাপ্ত হবে এবং বাম দিকটি ফিরে আসবে এবং ভেরিয়েবলের জন্য বরাদ্দ হবে। অন্যান্য ক্ষেত্রে ডান দিকটি ফিরে আসবে এবং নিয়োগ দেওয়া হবে।

এবং অপারেটর নীচের মত বিপরীত কাঠামো আছে।

var name = false && "Mohsen" # name equals to false
var family = true && "Alizadeh" # family equals to Alizadeh

3

|| বুলিয়ান বা অপারেটর। জাভাস্ক্রিপ্ট হিসাবে, অপরিজ্ঞাত , নাল, 0, মিথ্যা মিথ্যা মান হিসাবে বিবেচিত হয় ।

এর সহজ অর্থ

true || true = true
false || true = true
true || false = true
false || false = false

undefined || "value" = "value"
"value" || undefined = "value"
null || "value" = "value"
"value" || null = "value"
0 || "value" = "value"
"value" || 0 = "value"
false || "value" = "value"
"value" || false = "value"

2

উদ্ধৃতি: "x = x || y এর অর্থ কী?"

একটি ডিফল্ট মান নির্ধারণ করা।

এর অর্থ y এর সাথে x এর ডিফল্ট মান সরবরাহ করা , যদি x এখনও তার মানটির জন্য অপেক্ষা করে তবে তা এখনও পায়নি বা কোনও ডিফল্টে ফিরে যাওয়ার জন্য ইচ্ছাকৃতভাবে বাদ দেওয়া হয়েছিল।


এটি নির্মাণের সঠিক অর্থ এবং এর একমাত্র অর্থ। এবং এটি রচনা ফাংশনগুলিতে সম্পূর্ণরূপে একটি সাবরুটিন ছিল যা প্রোটোটাইপস, স্ট্যান্ডেলোন ফাংশন এবং anotherণ গ্রহণের পদ্ধতি হিসাবে অন্য কোনও উপাদানের জন্য প্রয়োগ করা যেতে পারে। যেখানে এর প্রধান এবং একমাত্র দায়িত্ব ছিল লক্ষ্যটির রেফারেন্সটি সংশোধন করা। উদাহরণ: function getKeys(x) { x = x || this ; .... }যা একটি স্বতন্ত্র ফাংশন হিসাবে পরিমার্জন ছাড়াই ব্যবহার করা যেতে পারে, এগুলির নমুনা একটি সম্পত্তি পদ্ধতি হিসাবে এবং একটি উপাদান একটি পদ্ধতি যা `[উপাদান] .getKeys (anotherElement) তার আর্গুমেন্ট হিসাবে অন্য উপাদান পেতে পারেন যেমন '
Bekim Bacaj

-5

এবং আমাকে আরও একটি জিনিস যোগ করতে হবে: শর্টহ্যান্ডের এই বিটটি একটি ঘৃণা। কোনও অ্যাসাইনমেন্ট নিয়ন্ত্রণ করতে এটি দুর্ঘটনাজনিত ইন্টারপ্রেটার অপ্টিমাইজেশান (দ্বিতীয় ক্রিয়াকলাপটি প্রথম সত্যবাদী হলে বিরক্ত করবেন না) এর অপব্যবহার করে। অপারেটরের উদ্দেশ্যটির সাথে এই ব্যবহারের কোনও সম্পর্ক নেই। আমি বিশ্বাস করি না যে এটি কখনও ব্যবহার করা উচিত।

আমি আরম্ভের জন্য টার্নারি অপারেটরটিকে পছন্দ করি, যেমন,

var title = title?title:'Error';

এটি এর সঠিক উদ্দেশ্যে এক-লাইন শর্তসাপেক্ষ অপারেশন ব্যবহার করে। এটি এখনও সত্যতার সাথে কুৎসিত গেম খেলে তবে এটি আপনার জন্য জাভাস্ক্রিপ্ট।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.