ফাংশন isFinite
ফাংশন isFinite প্যারামিটারটি একটি সসীম সংখ্যা কিনা তা পরীক্ষা করার জন্য
(অর্থাৎ স্ট্রিং, অ্যারে ইত্যাদি নয় এবং প্লাস
বা মাইনাস অসীম নয়)।
এই ফাংশনটি কিভাবে কাজ করে: এটি false ফেরত দেবে,
যদি সংখ্যাটি প্লাস বা মাইনাস অসীম হয়
(অর্থাৎ Infinity)
বা সংখ্যা না হয় (অর্থাৎ NaN),
অন্য সকল ক্ষেত্রে এটি true ফেরত দেবে।
অর্থাৎ স্ট্রিং, অ্যারে ইত্যাদি রূপান্তরিত হবে
NaN-এ এবং সেই অনুযায়ী false ফেরত দেবে।
যাইহোক, ব্যতিক্রম রয়েছে: খালি স্ট্রিং
'' true ফেরত দেয়, স্পেস সহ স্ট্রিং ' '
এছাড়াও true ফেরত দেয়, null
true ফেরত দেয়, true এবং false মানের জন্যও
true ফেরত দেওয়া হয়।
এটি ঘটে কারণ এই মানগুলি
NaN-এ রূপান্তরিত না হয়ে সংখ্যায় রূপান্তরিত হয়।
আপনার যদি সত্যিই সঠিক সংখ্যা পরীক্ষার প্রয়োজন হয়,
যা শুধু স্পেসের স্ট্রিং, লজিক্যাল এবং বিশেষ মানগুলিকে
সংখ্যা বলে গণ্য না করে - নিম্নলিখিত ফাংশন isNumeric ব্যবহার করুন:
function isNumeric(num) {
return !isNaN(parseFloat(num)) && isFinite(num);
};
আসুন জেনে নেওয়া যাক, এটি কিভাবে কাজ করে।
ফাংশন isFinite প্যারামিটারটিকে
একটি সংখ্যায় রূপান্তরিত করে এবং true ফেরত দেয়, যদি এটি Infinity,
-Infinity বা NaN না হয়।
এইভাবে, ডান অংশ স্পষ্টতই *অসংখ্যা* বাতিল করে দেবে,
কিন্তু true, false, null, খালি স্ট্রিং '' এবং
স্পেস সহ স্ট্রিং এর মতো মান রেখে দেবে, কারণ সেগুলি সঠিকভাবে রূপান্তরিত হয়
সংখ্যায়।
এই মানগুলি বাদ দিতে, ফাংশন
parseFloat-এর প্রয়োজন,
যা true, false, null, '', ' '
-এর জন্য NaN ফেরত দেবে। ফাংশন parseFloat এইভাবে তৈরি: এটি
প্যারামিটারটিকে একটি স্ট্রিং-এ রূপান্তরিত করে, অর্থাৎ true,
false, null হয়ে যায় 'true', 'false',
'null', এবং তারপর এটি থেকে একটি সংখ্যা পড়ে,
এক্ষেত্রে খালি স্ট্রিং এবং স্পেস সহ স্ট্রিং
NaN দেয়। তারপর parseFloat-এর ফলাফল প্রক্রিয়া করা হয়
!isNaN ব্যবহার করে,
NaN-এর বদলে true বা false পেতে।
ফলস্বরূপ, সংখ্যা-স্ট্রিং এবং সাধারণ সংখ্যা ছাড়া সবকিছু বাদ পড়ে।
সিনট্যাক্স
isFinite(মান);
উদাহরণ
এখন isFinite true দেখাবে,
যেহেতু প্যারামিটারটি একটি সংখ্যা:
let num = 3;
console.log(isFinite(num));
কোড 실행ের ফলাফল:
true
উদাহরণ
এখন isFinite false দেখাবে,
যেহেতু প্যারামিটারটি একটি সংখ্যা নয়:
let num = 'abcde';
console.log(isFinite(num));
কোড 실행ের ফলাফল:
false
উদাহরণ
এখন isFinite false দেখাবে,
যেহেতু প্যারামিটারটি অসীম:
let num = Infinity;
console.log(isFinite(num));
কোড 실행ের ফলাফল:
false
উদাহরণ
এখন isFinite false দেখাবে,
যেহেতু 1/0 - এটি মূলত Infinity
(অসীম):
let num = 1 / 0;
console.log(isFinite(num));
কোড 실행ের ফলাফল:
false
উদাহরণ
এখন isFinite true দেখাবে,
যেহেতু খালি স্ট্রিং, যা একটি সংখ্যা নয়,
- এটি একটি ব্যতিক্রম:
let num = '';
console.log(isFinite(num));
কোড 실행ের ফলাফল:
true