জাভাস্ক্রিপ্ট ফাংশন থেকে ʻundefined` বা `null` ফিরিয়ে দেওয়া কি আরও ভাল?


98

আমার একটি ফাংশন রয়েছে যা আমি লিখেছি যা মূলত এরকম দেখাচ্ছে:

function getNextCard(searchTerms) {
  // Setup Some Variables

  // Do a bunch of logic to pick the next card based on termed passed through what I'll call here as 'searchTerms' all of this logic is omitted because it's not important for my question.
  // ...

  // If we find a next card to give, than give it
  if (nextCardFound)
    return nextCardFound;

  // Otherwise - I'm returning undefined
  return undefined;
}

প্রশ্ন: এখানে "নাল" ফেরা ভাল কি?

আমি যা চাই তা আমি পাস করতে পারি - স্পষ্টতই ... আমি কেবল নিশ্চিত ছিলাম না যে ব্যবহার করা সবচেয়ে ভাল জিনিস।

এই ফাংশনটিকে কল করে এমন কোডটি কীভাবে অপরিজ্ঞাতকে মোকাবেলা করতে জানে (কোনও কিছু ভয়াবহভাবে ভুল না হলে এটি আসলেই কখনও ঘটবে না)

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


ডকুমেন্টেশন:

মজিলা ডক্স আমার প্রশ্নের উত্তর দেয় নি ... গুগলও দেয় নি: \

এই এত প্রশ্ন - আমি এখানে চিত্রিত করার চেষ্টা করছি তার পক্ষে খুব বিস্তৃত ছিল।


4
এই SO প্রশ্নের উত্তর না?
warkentien2

8
আমার মতে, ফিরে আসুন nullundefinedজাভাস্ক্রিপ্ট নিজেই ছেড়ে দিন । তবে, "আরও ভাল" নেই তাই এটি মতের বিষয় of
ফেলিক্স ক্লিং

@ warkentien2 ধন্যবাদ, এটি সহায়ক ছিল - তবে গিটার ফাংশন থেকে ফিরে আসার জন্য কনভেনশনটি এখানে কী তা এখনও আমি অস্পষ্ট।
জেরেমি আইলেগার্ট

4
আমি null"আপনি যা চাইছেন তার উপযুক্ত মান নেই" এবং "আপনি যা চাইছেন undefinedতা আমি কাজ করতে পারি না" হিসাবে পড়েছি।
মার্টি

@ warkentien2 question প্রশ্নটি, এবং আমি আমার উত্তরে যেটি যুক্ত করেছি, তা সম্পর্কিত, তবে উভয়ই তাদের মধ্যে পার্থক্য কী তা জিজ্ঞাসা করছেন এবং এক বা অন্যটিকে কখন রিটার্ন মান হিসাবে ব্যবহার করবেন তা নয় ।
চিলনিট

উত্তর:


37

আমি যুক্তি দেব যে সর্বোত্তম উপায় নেই এবং এমনকি মানক ক্রিয়াকলাপগুলি কখনও কখনও একটি বা অন্যটিকে বেছে নেয়।

উদাহরণ স্বরূপ:

  • [[প্রোটোটাইপ]]

    সাধারণ বস্তুর একটি [[প্রোটোটাইপ]] অভ্যন্তরীণ স্লট থাকে, যা নির্ধারণ করে যে তারা অন্য কোন বস্তু থেকে উত্তরাধিকারী হবে। অবশ্যই, এমন একটি উপায় অবশ্যই বলতে হবে যে কোনও বস্তু অন্য কোনওটির থেকে উত্তরাধিকার সূত্রে আসে না। এই ক্ষেত্রে, "এমন কোনও বস্তু নেই" ব্যবহার করে প্রতিনিধিত্ব করা হয় null

  • Object.getOwnPropertyDescriptor

    এটি কোনও সম্পত্তি বর্ণনাকারী ফেরত প্রত্যাশিত, অর্থাত্, এমন একটি বস্তু যা কোনও সম্পত্তির বর্ণনা দেয় (যেমন মান, লেখার যোগ্যতা, পরিমিতি এবং কনফিগারেশন) rab তবে সম্পত্তিটির অস্তিত্ব থাকতে পারে। এই ক্ষেত্রে, "এমন কোনও সম্পত্তি নেই" ব্যবহার করে প্রতিনিধিত্ব করা হয় undefined

  • document.getElementById

    এটি প্রদত্ত আইডি সহ উপাদানটি ফেরত প্রত্যাশিত। তবে সেই আইডি সহ কোনও উপাদান থাকতে পারে না। এই ক্ষেত্রে, "এমন কোনও উপাদান নেই" ব্যবহার করে প্রতিনিধিত্ব করা হয় null

সুতরাং আপনি যা পছন্দ করেন তা চয়ন করুন বা মনে করেন আপনার নির্দিষ্ট ক্ষেত্রে আরও বোধগম্য।


4
এটি পড়ার পরে আমি void 0এই উত্তরটির ভবিষ্যতের দর্শকদের জন্য কৌশলটি পরামর্শ দেওয়ার সিদ্ধান্ত নিয়েছি । আপনার কথাটি আরও পরিষ্কার করার জন্য আমি কিছু কোড যুক্ত করেছি। আপনার উত্তর করার জন্য আপনাকে ধন্যবাদ!
জেরেমি ইগলেহার্ট

114

অপরিবর্তিত সাধারণত এমন কোনও কিছুকে বোঝায় যা এখনও পর্যন্ত কোনও মান নির্ধারিত হয়নি (এখনও)। নাল এমন কিছুকে বোঝায় যেটির অবশ্যই কোনও মূল্য নেই। সেক্ষেত্রে আমি কোনও নাল ফেরানোর পরামর্শ দেব। নোট করুন যে কোনও নির্দিষ্ট ফিরতি মানযুক্ত কোনও ফাংশন সুস্পষ্টভাবে অনির্ধারিত করে দেয়।

ECMAScript2015 স্পেস থেকে

4.3.10 অপরিবর্তিত মান

ভেরিয়েবলের কোনও মূল্য নির্ধারিত না হলে আদিম মান ব্যবহৃত হয়

4.3.12 নাল মান

আদিম মান যা কোনও বস্তুর মানের ইচ্ছাকৃত অনুপস্থিতি উপস্থাপন করে

http://www.ecma-international.org/ecma-262/6.0/#sec-terms-and- সংজ্ঞা- অপরিবর্তিত- টাইপ

আরও পড়া:

কখন জাভাস্ক্রিপ্টে নাল বা অপরিজ্ঞাত ব্যবহার করা হয়?


4
হ্যাঁ, অপরিবর্তিত মানটি তখনই ব্যবহৃত হয় যখন কোনও ভেরিয়েবলের কোনও মান নির্ধারিত হয় না। কেন এটি সঠিকভাবে বোঝায় যে আপনি কোনও ফাংশনে অনির্ধারিত ফিরে আসবেন না?
ওরিওল

4
অরিওল, আমার মনে, যেহেতু শূন্য ফাংশনটি অপরিজ্ঞাতভাবে ফিরে আসে, এটি সেই ধরণের ফাংশনের জন্য একটি সংরক্ষিত মান, যাতে কোনও ফাংশনের রিটার্ন মান হ্যান্ডল করার সময় নাল আমাকে বলে যে এটি নাল ফেরার সিদ্ধান্ত নিয়েছে, অন্যদিকে অপরিবর্তিত আমাকে এটি বলেছে হয় অপরিশোধিত ফেরত দেওয়ার সিদ্ধান্ত নিয়েছে, বা এটি কোনও কিছু না ফেরার সিদ্ধান্ত নিয়েছে, তবে আমি কোনটি নিশ্চিতভাবে জানি না। তদুপরি, আমি যদি করছি var x=someFunc();, আমি ইচ্ছাকৃতভাবে এক্সএ মান নির্ধারণ করছি, এবং এটি কোনও পরীক্ষা পাস করবে না যা নির্দেশ করে যে এটি কোনও মান নির্ধারিত হয়নি (বা নাও থাকতে পারে)। শুধু এই প্রোগ্রামটিতে
chiliNUT

এটি গ্রহণযোগ্য উত্তর হওয়া উচিত। এভাবেই এটি অনুমান করতে ব্যবহৃত হয়েছিল
জিংক

4
আমি সেভাবে পড়ি না। আমি এটি এই হিসাবে পড়েছি: আপনি যদি কোনও ভেরিয়েবল সংজ্ঞায়িত করেন তবে এটি আরম্ভ না করেন তবে এর পরিবর্তে এটির অপরিবর্তিত প্রাথমিক মান থাকবে। প্রোগ্রামার দ্বারা নাল ব্যবহার করা উচিত ইচ্ছাকৃতভাবে ইঙ্গিত করতে যে কোনও ভেরিয়েবল খালি রয়েছে। আইএমএইচও অপরিজ্ঞাত প্রোগ্রামার দ্বারা কোনও পরিবর্তনশীল হিসাবে কখনই বরাদ্দ করা উচিত নয়, এটি ব্যবহারের জন্য এটি জেএস ইঞ্জিনের উপর ছেড়ে দিন। "অবজেক্ট" মানটি শব্দটি বিভ্রান্তিকর, যেহেতু
জেএসে এমনকি আদিমরাও

4
হ্যাঁ, এটা বোঝা যায়। সত্যি কথা বলতে, nullযতক্ষণ না আপনি একটির সাথে লেগে থাকুন ততক্ষণ আমি একে অপরের উপরের (যদিও আমি বেশি অভ্যস্ত ) ব্যবহার করতে কিছু মনে করি না তবে মানটির অভাব (যা "টাইপ" যাই হোক না কেন) ইঙ্গিত করার জন্য 2 টি মান থাকা সর্বদা বিভ্রান্ত হয়
সার্জিও রোজাস

39

আমি আপনাকে আমার দুজনের মধ্যে পছন্দ করার মতামত জানাব।

আমার সহজ প্রশ্নটি হ'ল: অন্য ইনপুট / রাজ্য / প্রসঙ্গে প্রদত্ত মানটি কি কোনও কিছুর সংজ্ঞা দেওয়া যেতে পারে?

উত্তর যদি হ্যাঁ হয় তবে nullঅন্যটি ব্যবহার করুন undefined। সাধারণত nullযখন কোনও বস্তুটি প্রত্যাবর্তন করা হয় তখন যে কোনও ক্রিয়াকলাপ প্রত্যাবর্তন করা উচিত the কারণ এটি অন্য ইনপুট / রাজ্য / প্রসঙ্গে প্রদত্ত থাকতে পারে।

nullপ্রদত্ত ইনপুট / রাজ্য / প্রসঙ্গের জন্য মানের অভাবে প্রতিনিধিত্ব করে। এর সুস্পষ্ট অর্থ হল যে মূল্যটির ধারণাটি আপনার প্রয়োগের প্রসঙ্গে নিজেই উপস্থিত রয়েছে তবে অনুপস্থিত থাকতে পারে। আপনার উদাহরণে পরবর্তী কার্ডের ধারণাটি উপস্থিত রয়েছে তবে কার্ডটি নিজেই উপস্থিত থাকতে পারে। nullব্যবহার করা উচিত.

undefinedআপনার আবেদনের প্রসঙ্গে এই মানটির অর্থের অনুপস্থিতিকে স্পষ্টভাবে উপস্থাপন করে। উদাহরণস্বরূপ, যদি আমি userকোনও নির্দিষ্ট বৈশিষ্ট্যের সেট দিয়ে কোনও বস্তুটি কারসাজ করি এবং আমি সম্পত্তিটি অ্যাক্সেস করার চেষ্টা করি pikatchu। এই সম্পত্তিটির মানটি সেট করা উচিত undefinedকারণ আমার প্রসঙ্গে এই ধরণের সম্পত্তি থাকার কোনও মানে হয় না।


4
এটি আমার কাছে সত্যই বাজে। আইএমও খাঁটি ফাংশনগুলি ফিরতে হবে null, যখন পার্শ্ব-প্রতিক্রিয়াযুক্ত undefinedফাংশনগুলি ফাংশনযুক্ত প্রোগ্রামারের মতো চিন্তা করার সময় ফিরে আসে ।
জেক

4

undefinedআপনার অর্পণ করা উচিত নয়। আপনি ব্যতীত অন্য কিছু ফেরত দিতে বিবেচনা করতে চাইতে পারেন undefined। আপনার ক্ষেত্রে, আপনি আদৌ কিছু না ফিরিয়ে দিলেও ফলাফল undefinedইতিমধ্যে হবে। সুতরাং, আমি nullপরিবর্তে সঙ্গে যেতে পরামর্শ দেব ।

এই নমুনা বিবেচনা করুন,

function getSomething() {
     // .. do something
     return undefined;
}

function doSomething() {
     // .. I'm not gonna return anything.
}

var a = getSomething();
var b = doSomething();

উপরে নমুনা ফলাফল a === b, যা হয় undefined। পার্থক্য হ'ল আপনি 1 টি স্টেটমেন্ট এক্সিকিউশন সংরক্ষণ করেছেন save


@ অরিওল আমার অর্থ, undefinedবরাদ্দ করতে হবে না। মান ব্যতীত সমস্ত ঘোষিত ভেরিয়েবল ইতিমধ্যে রয়েছে undefined
choz

@choz & @ Oriol - @chiliNUT দ্বারা পূর্বে উল্লিখিত হয়েছে "নোট করুন যে কোনও নির্দিষ্ট ফিরতি মান সহ কোনও ফাংশন সুস্পষ্টভাবে অনির্ধারিত ফেরত দেয়" " - এটি সত্য কারণ (function(){ /* code */ })()কনসোলে ফিরে আসে।
জেরেমি ইগলেহার্ট

@ জেরেমি আইগেলহার্ট এই কোডটি আসলে কিছুই ফেরায় না। এবং অন্যথায়, এটি undefinedআমার ক্রোম এবং ফায়ারফক্স কনসোল দেয়।
choz

ঠিক আছে আমি তোমার কথা বুঝতে পারিনি হ্যাঁ, আপনি স্পষ্টভাবে কিছু না ফিরিয়ে দিলে অপরিবর্তিত স্পষ্টভাবে ফিরে আসবে। তবে কেন ব্যাপারটি?
ওরিওল

4
@ অরিওল, আমি মনে করি @ চোজ যা বলতে চেয়েছিল (এই প্রশ্নে আরও কয়েকটি উল্লেখ করেছেন) যে আমি undefinedযদি অন্য কিছু আগে না ফিরে আসে তবে ফিরে আসতে চাই - আমার দরকার নেই কারণ ফাংশনের ডিফল্ট আচরণ যদি আপনি কিছু ফেরান না তা অপরিশোধিত ফেরত দেওয়া - তারা কেবল বলছেন যে এটির প্রয়োজন নেই। আরও ... আমি বিল্ট-ইন গিটার ফাংশনগুলি নালার দিকে ফিরে যাবার বিষয়ে আপনাকে যা বলেছিলাম তা আমি পছন্দ করি। দয়া করে আপনার প্রতিক্রিয়াটির প্রতি পোস্ট করুন এবং আমি এটি গ্রহণ করব।
জেরেমি ইগলেহার্ট

3

প্রত্যাবর্তিত মানটির সাথে আপনার কী করা দরকার তার উপর নির্ভর করে।

টাইপ নাল একটি বস্তু ফেরত দেয়। যে অবজেক্টের একটি মূল্য নির্ধারিত আছে

টাইপ অফ অপরিজ্ঞাপিত আয়


ব্যক্তিগতভাবে আমি সাধারণত নাল ব্যবহার করি।
ডান

4
"সেই অবজেক্টটির একটি মূল্য নির্ধারিত আছে " না এটি নয় এবং এটি কোনও বস্তু নয়, এটি নাল। typeofঅগত্যা কোনও মানের প্রকৃত ডেটা ধরণটি ফেরত দেয় না, এটিতে একটি মানচিত্র রয়েছে যা ডেটা প্রকারের মানচিত্রগুলিতে লেবেলে মানচিত্র করে এবং সংশ্লিষ্ট লেবেল ফেরত দেয়।
ফেলিক্স ক্লিং

বিশ্বাস করবেন না typeof, নাম থাকা সত্ত্বেও এটি কোনও মানের ধরণটি বলে না।
ওরিওল

2

এখানে একটি উদাহরণ যেখানে এর undefinedচেয়ে আরও বেশি বোঝা যায় null:

আমি এর জন্য একটি মোড়ক ফাংশন ব্যবহার JSON.parseকরি যার ব্যতিক্রমটিকে এতে রূপান্তরিত করে undefined:

// parses s as JSON if possible and returns undefined otherwise
// return undefined iff s is not a string or not parseable as JSON; undefined is not a valid JSON value https://stackoverflow.com/a/14946821/524504
function JSON_parse_or_undefined(s) {
    if ("string" !== typeof s) return undefined

    try {
        const p = JSON.parse(s)
        return p
    } catch (x){}

    return undefined
}

নোট যেটি nullJSON এ বৈধ আছে যখন undefinedনেই।


আমি দেখছি আপনি সেখানে কী করছেন - এবং আমি ভুল বলতে পারি না আপনি ভুল - কারণ একটি অর্থে আমি মনে করি আপনি এখানে এটি করতে পারেন এবং এটি ঠিক থাকবে। আমার এই অপারেশনটি করতে আমি ব্যবহার করি যা আমি আরও ভাল পছন্দ করি কারণ আমি একটি "বৈধতা" পদক্ষেপ পরে করি I আমি মনে করি এটি মান ফিরিয়ে দেওয়ার সাথে বৈধতা মিশ্রিত হচ্ছে। এখানে আমি কি হল: let getStringOrJSON = value => { try { value = JSON.parse(value); } catch(e) { return value; } return value; };। এখন, আমি নিশ্চিত যে দুটি রিটার্ন অন্যরকমভাবে পরিচালিত হতে পারে এবং জেএস গল্ফ প্রতিযোগিতা জিততে পারে না। এটা কাজ করে।
জেরেমি ইগলেহার্ট

1

প্রথম উত্তর সঠিক। তাদের তাত্ত্বিকভাবে আলাদা অর্থ রয়েছে। তবে কোনটি গ্রহণ করা যায় তা সবসময় পরিষ্কার নয়।

আমি আমার বিকাশে নাল ব্যবহার করার ঝোঁক রাখি যদিও আমি মনে করি এটি সম্পূর্ণরূপে বিষয়গত জিনিস।

আমি বেশিরভাগ কারণ এটি ব্যবহার করি:

  1. অপরিবর্তিত ভেরিয়েবল পুরানো ব্রাউজারগুলিতে ওভাররাইট করা যেতে পারে তাই এটি ফিরিয়ে দেওয়া কিছুটা জটিল। typeof var === 'undefined'ফাংশন ফলাফল পাওয়ার সময় এই একই সমস্যা আপনাকে ব্যবহার করতে বাধ্য করে । লিঙ্ক

  2. অন্যান্য ভাষাগুলিতে নাল ব্যাপকভাবে ব্যবহার করার প্রবণতা রয়েছে, তাদের অনেকেরই অপরিজ্ঞাত থাকে না (উদাহরণস্বরূপ পিএইচপি)। ভাষাগুলির মধ্যে দ্রুত অদলবদল করার সময় এটি আমাকে এক ধরণের ধারাবাহিকতা দেয়।


1

আমি মনে করি এটি কী বিতর্কিত তা খুব বিতর্কিত। আমি কোডটি পছন্দ করি যা শব্দমুগ্ধভাবে যথাসম্ভব নির্ভুল, তাই আমি মনে করি undefinedএই ক্ষেত্রে উপযুক্ত appropriate

আমি nullঅ্যাসাইনমেন্টগুলি অর্থ "একটি পরিবর্তনশীল সেটকে কিছুই নয়" হিসাবে মনে করি । এটি undefined"এই জিনিসটি একেবারেই নেই" এর অর্থ হিসাবে বিরোধী

পূর্ববর্তী জবাব হিসাবে উল্লেখ করা হয়েছে যে, ফেরার undefinedক্ষেত্রে সমস্যা রয়েছে এবং এটি আপনাকে বিরক্ত করে কিনা তা সম্পূর্ণরূপে আপনার পক্ষে। এটা আমাকে বিরক্ত করবে না।


4
তবে অর্থ document.getElementById('iDoNotExist')ফিরে আসে null, যদিও অর্থটি "এই জিনিসটি মোটেই নেই"। যদি মানক পদ্ধতিগুলি এটি করে, তবে ওপি কেন নয়?
ওরিওল

@ ওরিওল আমি আসলে আপনার যুক্তি সবচেয়ে বেশি পছন্দ করি। এই প্রভাব একটি উত্তর পোস্ট করুন এবং আমি এটি গ্রহণ করব। (প্রয়োজনে আমি কয়েকটি সম্পাদনাও যোগ করতে পারি)
জেরেমি আইলেগার্ট

ইয়াহ @ ওরিওল, এ কারণেই আমি কিউ / এ সাইটে এমনকি বিতর্ক উপভোগ করি। পাল্টা উদাহরণ পাওয়া সত্যিই ভাল। এবং আপনি একটি ভাল সরবরাহ করেছেন।
রায়ান লাবউকেনে

1

আমি তর্ক করব যে এই ক্ষেত্রে, nullফিরে দেওয়া উচিত।

আপনি দৃশ্য তারপর একটি তাত্ত্বিক কম্পিউটার বিজ্ঞান বিন্দু থেকে প্রশ্নটা বিবেচনা যদি অনির্দিষ্ট ইঙ্গিত করতে ব্যবহার করা হয় অ পরিসমাপ্তি / অ computability (অর্থাত অনির্ধারিত পয়েন্টের জন্য স্থানধারক xএকটি এর আংশিক ফাংশন f যা প্রায়ই লেখা হয় f(x) = ⊥)।

getNextCardতবে পরের কার্ডটি (যদি এটি বিদ্যমান থাকে) গণনা করতে সক্ষম হতে পারে এবং পরবর্তী কার্ড না থাকলেও গণনা করতে সক্ষম হবে বলে মনে হয়। অন্য কথায়, ফাংশনটি মোট ইনপুট থেকে এটি প্রতিটি ইনপুটটির জন্য সমাপ্ত হয়।

এটি বলা হচ্ছে, অর্থবহ ফলাফল ছাড়া একটি বিশেষ মান সংকেত সমাপ্তি (যেমন "এই ইনপুটটির জন্য আমি কোনও কার্ড ফেরত দিতে পারি না") প্রয়োজন এবং এটি আমার পক্ষে nullনয় undefined


মন্তব্য:

আপনি এই যুক্তিটির জন্য কিছু অন্যান্য টাইপ করা ভাষায়ও সমর্থন দেখতে পাচ্ছেন যেখানে অর্থবোধক ফলাফল ছাড়াই সমাপ্তি কোনও বিকল্প টাইপ (কখনও কখনও একে বাদ্য প্রকার হিসাবেও উল্লেখ করা হয় ) ব্যবহার করে প্রকাশ করা হয় । একটি উদাহরণ এই হল জন্য হয়তোHaskell,

অন্যদিকে, আমরা অবশ্যই জানি না undefinedজাভাস্ক্রিপ্টের আসলে কী বোঝার কথা। সুতরাং, এর উপমা অনির্ধারিত একটু tenous হয়। তদুপরি, যেহেতু আমরা সর্বদা মোট ফাংশন নিয়ে কাজ করতে চাই, এটি " undefinedফাংশন থেকে কখনই ফিরে আসবে না" বলার পরিমাণ । যা কিছুটা কঠোর বলে মনে হচ্ছে, যেহেতু এটি undefinedবৈশিষ্ট্য / ভেরিয়েবলগুলির সীমাবদ্ধ করবে যা সেট করা হয়নি।

শেষ অবধি, আমার ব্যক্তিগত পছন্দটি কখনই ফিরে যেতে পারে না undefinedযেখানে আমি ফিরে আসতে পারি nullএবং আমি আরও যুক্তি দিয়ে বলতে পারি যে এটিই ভাল কোডিং কনভেনশন (কারণ অন্যান্য জিনিসের x !== nullমধ্যে কমের চেয়ে ছোট typeof x !== 'undefined')।


-1

আমার অভিজ্ঞতা অনুসারে আমার ব্যক্তিগত মতামতটি যদি আপনি নিজের কোড ক্রাশ করতে না চান তবে অপরিজ্ঞাত এবং নাল ব্যবহার করবেন না। অন্তত আমি ব্যক্তিগতভাবে এড়াতে হবে। জাভাস্ক্রিপ্টে অনেকগুলি ফাংশন রয়েছে যা অপরিবর্তিত রয়েছে এবং ঠিক আছে আমাদের এটির ব্যবহার করতে হবে। আপনি যখন নিজের কোডটি ডিজাইন করেন তখন এটি ব্যবহার করবেন না। সর্বদা "false"কমপক্ষে কিছু ফিরিয়ে দেওয়া গুরুত্বপূর্ণ । উদাহরণস্বরূপ আপনার যদি একটি অ্যারে থাকে এবং আপনি এটির উপরে ম্যাপ করেন। ফিরে আসা [undefined, undefined.....]বা ঠিক করা ভাল নয় undefined। আপনি যদি মূল অ্যারের ধরণটি রাখেন তবে ভাল। উদাহরণ:

 const mapper:Map <string[],boolean[]>  
['i', 'dont', 'use', 'null or undefined'] -> [false, true, false, true, false]
or ['', dont, '', '', use] 
or al the stuff above and then filter(v => v)
that will keep all undefined and null out

যে ধারণা. আমি এড়াতে সর্বদা চেষ্টা করি। কারণ একটি nullবা undefinedসহজেই আপনার কোড ক্রাশ করতে পারে

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