সংখ্যা বিভাগ
জাভাস্ক্রিপ্টে সংখ্যা মাত্র এক প্রকার। সংখ্যাগুলি দশমিক সহ বা ছাড়া লেখা যেতে পারে।
উদাহরণ
যাক x = 3.14; // দশমিক সহ সংখ্যা যাক y = 3; // দশমিক ছাড়া একটি সংখ্যা
সবচেয়ে বড় বা ক্ষুদ্রতম সংখ্যাগুলি বৈজ্ঞানিক (অরিফিস) স্বরলিপিতে লেখা যেতে পারে:
উদাহরণ
let x = 123e5; // 12300000
let y = 123e-5; // 0.00123
জাভাস্ক্রিপ্ট নম্বর সবসময় 64-বিট ফ্লোটিং পয়েন্ট হয়
অন্যান্য অনেক প্রোগ্রামিং ভাষার বিপরীতে, জাভাস্ক্রিপ্ট বিভিন্ন ধরণের সংখ্যা যেমন পূর্ণসংখ্যা, সংক্ষিপ্ত, দীর্ঘ, ভাসমান বিন্দুকে সংজ্ঞায়িত করে না।
আন্তর্জাতিক IEEE 754 মান অনুসরণ করে জাভাস্ক্রিপ্ট নম্বরগুলি সর্বদা ডবল-নির্ভুল ফ্লোটিং-পয়েন্ট নম্বর হিসাবে সংরক্ষণ করা হয়।
এই বিন্যাসটি 64 বিটে সংখ্যা সংরক্ষণ করে, যেখানে লব (ভগ্নাংশ) 0 থেকে 51 বিটে, সূচকটি 52 থেকে 62 বিটে এবং 63 তম বিটে চিহ্ন সংরক্ষণ করা হয়:
| মান (ভগ্নাংশ/ম্যান্টিসা) | স্তর | পরিচয় |
|---|---|---|
| 52 বিট (0 - 51) | 11 বিট (52 - 62) | 1 বিট (63) |
দ্রষ্টব্য:
বেশিরভাগ প্রোগ্রামিং ল্যাঙ্গুয়েজের বেশ কয়েকটি সংখ্যাসূচক প্রকার রয়েছে:
- পূর্ণসংখ্যা:বাইট (8-বিট), ছোট (16-বিট), int (32-বিট), দীর্ঘ (64-বিট)
- ব্যঞ্জনবর্ণ সংখ্যা (ভাসমান বিন্দু):ফ্লোট (32-বিট), ডাবল (64-বিট)
জাভাস্ক্রিপ্ট সংখ্যা সবসময় দ্বিগুণ (64-বিট ফ্লোটিং পয়েন্ট)।
পূর্ণসংখ্যা নির্ভুলতা
পূর্ণসংখ্যা (পর্যায় বা সূচক ছাড়া সংখ্যা) 15 সংখ্যার সঠিক।
উদাহরণ
let x = 999999999999999; // x হবে 999999999999999 let y = 9999999999999999; // y হবে 10000000000000000
দশমিক স্থানের সর্বোচ্চ সংখ্যা 17।
ফ্লোটিং পয়েন্ট নির্ভুলতা
ফ্লোটিং পয়েন্ট গণিত সবসময় 100% সঠিক নয়:
let x = 0.2 + 0.1; // 0.30000000000000004
উপরের সমস্যা সমাধানের জন্য, গুন ভাগ সহায়ক:
let x = (0.2 * 10 + 0.1 * 10) / 10; // 0.3
সতর্কতা:
ফ্লোটিং পয়েন্ট ম্যাথের উল্লেখযোগ্য ত্রুটি থাকতে পারে। আর্থিক গণনার মতো উচ্চ নির্ভুলতা প্রয়োজন এমন অপারেশনগুলির জন্য,toFixed()পদ্ধতি ব্যবহার করুন বা অন্যান্য নির্ভুল লাইব্রেরি ব্যবহার করুন।
সংখ্যা এবং স্ট্রিং যোগ করা হচ্ছে
সতর্কতা!!
জাভাস্ক্রিপ্ট যোগ এবং সংযোজন উভয়ের জন্য + অপারেটর ব্যবহার করে।
সংখ্যা যোগ করা হয়. স্ট্রিং সংযুক্ত করা হয়.
যদি আপনি দুটি সংখ্যা যোগ করেন, ফলাফল একটি একক সংখ্যা:
উদাহরণ
যাক x = 10; যাক y = 20; যাক z = x + y; // z = 30 (সংখ্যা)
আপনি যদি দুটি স্ট্রিং যোগ করেন, ফলাফলটি একটি স্ট্রিং সংযোজন হবে:
উদাহরণ
let x = "10"; let y = "20"; যাক z = x + y; // z = "1020" (স্ট্রিং)
যদি আপনি একটি সংখ্যা এবং একটি স্ট্রিং যোগ করেন, ফলাফলটি একটি স্ট্রিং সংযোজন হবে:
উদাহরণ
যাক x = 10; let y = "20"; যাক z = x + y; // z = "1020" (স্ট্রিং)
সাধারণ ভুল:
একটি সাধারণ ভুল হল এই ফলাফলটি 30 হওয়ার আশা করা:
let x = 10;
let y = 20;
let z = "The result is: " + x + y; // "The result is: 1020"
একটি সাধারণ ভুল হল এই ফলাফলটি 102030 আশা করা:
যাক x = 10; যাক y = 20; let z = "30"; যাক ফলাফল = x + y + z; // "3030" (প্রথম 10+20=30, তারপর 30+"30"="3030")
জাভাস্ক্রিপ্ট ইন্টারপ্রেটার বাম থেকে ডানে কাজ করে।
সংখ্যাসূচক স্ট্রিং
জাভাস্ক্রিপ্ট স্ট্রিংগুলিতে সাংখ্যিক বিষয়বস্তু থাকতে পারে:
যাক x = 100; // x একটি সংখ্যা let y = "100"; // y একটি স্ট্রিং
সমস্ত সাংখ্যিক ক্রিয়াকলাপে জাভাস্ক্রিপ্ট স্ট্রিংগুলিকে সংখ্যায় রূপান্তর করার চেষ্টা করে:
এটি কাজ করবে:
let x = "100";
let y = "10";
let z = x / y; // 10
let x = "100";
let y = "10";
let z = x * y; // 1000
let x = "100";
let y = "10";
let z = x - y; // 90
এটি কাজ করে না:
let x = "100";
let y = "10";
let z = x + y; // "10010"
শেষ উদাহরণে, জাভাস্ক্রিপ্ট স্ট্রিংগুলিকে সংযুক্ত করতে + অপারেটর ব্যবহার করে।
NaN - একটি সংখ্যা নয়
NaN হল একটি জাভাস্ক্রিপ্ট সংরক্ষিত শব্দ যা নির্দেশ করে যে একটি সংখ্যা একটি আইনি সংখ্যা নয়।
উদাহরণ
let x = 100 / "Apple"; // NaN
যদি স্ট্রিংটি একটি সংখ্যা হয়, ফলাফলটি একটি সংখ্যা:
let x = 100 / "10"; // 10
একটি মান সাংখ্যিক কিনা তা নির্ধারণ করতে একটি সার্বজনীন জাভাস্ক্রিপ্ট ফাংশনisNaN()ব্যবহার করা যেতে পারে:
let x = 100 / "Apple";
isNaN(x); // true
NaN এর জন্য সতর্ক থাকুন:
আপনি যদি একটি গণিত ফাংশনে NaN ব্যবহার করেন, ফলাফলটিও NaN হতে পারে:
let x = NaN;
let y = 5;
let z = x + y; // NaN
অথবা ফলাফল NaN5 এর মত একটি সংমিশ্রণ হতে পারে:
let x = NaN;
let y = "5";
let z = x + y; // "NaN5"
NaN হল একটি সংখ্যা:typeof NaNনম্বর প্রদান করে:
typeof NaN; // "number"
অনন্ত
ইনফিনিটি (বা -ইনফিনিটি) হল জাভাস্ক্রিপ্ট যে মানটি প্রদান করে যদি এটি সবচেয়ে বড় সম্ভাব্য সংখ্যার বাইরে একটি সংখ্যাকে মূল্যায়ন করে।
উদাহরণ
যাক myNumber = 2; // অসীমের দিকে দৌড়াও যখন (myNumber!= Infinity) { myNumber = myNumber * myNumber; }
0 (শূন্য দ্বারা) দ্বারা ভাগ করলেও অসীমতা উৎপন্ন হয়:
let x = 2 / 0; // Infinity
let y = -2 / 0; // -Infinity
অসীম একটি সংখ্যা:typeof Infinityনম্বর ফেরত দেয়।
typeof Infinity; // "number"
ষোল নম্বর
জাভাস্ক্রিপ্ট সাংখ্যিক ধ্রুবককে হেক্সাডেসিমেল হিসাবে ব্যাখ্যা করে যদি 0x এর সাথে উপসর্গ থাকে।
উদাহরণ
let x = 0xFF; // 255
সতর্কতা:
অগ্রণী শূন্য দিয়ে একটি সংখ্যা লিখবেন না (যেমন 07)। কিছু জাভাস্ক্রিপ্ট সংস্করণ অগ্রণী শূন্য দিয়ে লেখা হলে সংখ্যাকে হেক্সাডেসিমেল হিসাবে ব্যাখ্যা করে।
ডিফল্টরূপে, জাভাস্ক্রিপ্ট সংখ্যাগুলিকে বেস 10 দশমিক হিসাবে প্রদর্শন করে। কিন্তু আপনি বেস 2 থেকে বেস 36 পর্যন্ত সংখ্যা আউটপুট করতে পারেনtoString()পদ্ধতি ব্যবহার করা যেতে পারে।
উদাহরণ
let myNumber = 32;
myNumber.toString(32); // "10"
myNumber.toString(16); // "20"
myNumber.toString(12); // "28"
myNumber.toString(10); // "32"
myNumber.toString(8); // "40"
myNumber.toString(2); // "100000"
নম্বর সেটিংস:
- ষোল নম্বর:ভিত্তি 16
- দশমিক সংখ্যা:ভিত্তি 10
- অক্টাল সংখ্যা:মৌলিক 8
- বাইনারি সংখ্যা:মৌলিক 2
বস্তু হিসাবে জাভাস্ক্রিপ্ট সংখ্যা
সাধারণত জাভাস্ক্রিপ্ট নম্বরগুলি স্ট্যাটিক মান থেকে তৈরি করা আদিম মান:
let x = 123;
কিন্তু সংখ্যাওnewবস্তুগুলিকে কীওয়ার্ড দিয়ে সংজ্ঞায়িত করা যেতে পারে:
let y = new Number(123);
সংখ্যা বস্তু তৈরি করবেন না:
newকীওয়ার্ড কোডটিকে জটিল করে এবং অপারেশনকে ধীর করে দেয়।
সংখ্যা বস্তু অপ্রত্যাশিত ফলাফল দিতে পারে:
==অপারেটর ব্যবহার করার সময়, x এবং y সমান:
let x = 500;
let y = new Number(500);
console.log(x == y); // true
===অপারেটর ব্যবহার করার সময়, x এবং y সমান নয়:
let x = 500;
let y = new Number(500);
console.log(x === y); // false
দ্রষ্টব্য:
(x == y)এবং(x === y)মধ্যে পার্থক্য নোট করুন
দুটি জাভাস্ক্রিপ্ট বস্তুর তুলনা সর্বদা মিথ্যা ফেরত দেয়:
let x = new Number(500);
let y = new Number(500);
console.log(x == y); // false
console.log(x === y); // false
জাভাস্ক্রিপ্ট নম্বর টিউটোরিয়াল
নীচের কোড বিবেচনা করুন:
let x = 10;
let y = 20;
let z = x + y;
z এর ফলাফল কি হবে?
সমাধান বর্ণনা:
জাভাস্ক্রিপ্টে, + অপারেটর দুটি ধরণের অপারেশন করে:
- সংযোজন:যখন দুই চালকের সংখ্যা
- সংযোগ করা হচ্ছে:যখন অন্তত একজন ড্রাইভার একটি স্ট্রিং হয়
এই ক্ষেত্রে, x এবং y উভয়ই সংখ্যা (স্ট্রিং নয়), তাই + অপারেটর পাটিগণিত যোগ করে: 10 + 20 = 30
আরও জানুন
জাভাস্ক্রিপ্ট সংখ্যা বৈশিষ্ট্য
সংখ্যার আদর্শ বৈশিষ্ট্য অন্বেষণ করুন
জাভাস্ক্রিপ্ট নম্বর রেফারেন্স
সম্পূর্ণ সংখ্যাসূচক পদ্ধতি এবং বৈশিষ্ট্য উল্লেখ