জাভাস্ক্রিপ্ট ডেটা প্রকার
একটি জাভাস্ক্রিপ্ট ভেরিয়েবল 8 ধরনের ডেটা ধারণ করতে পারে।
7 আদিম ডেটা প্রকার এবং 1 অবজেক্ট ডেটা টাইপ।
গুরুত্বপূর্ণ নোট:
অবজেক্ট ডাটা টাইপ বিভিন্ন ধরনের অবজেক্ট ধরতে পারে।
ডেটা প্রকার
| টাইপ | ব্যাখ্যা |
|---|---|
| Number | একটি গাণিতিক মান প্রতিনিধিত্বকারী একটি সংখ্যা |
| Bigint | একটি সংখ্যা যা একটি বড় পূর্ণসংখ্যার প্রতিনিধিত্ব করে |
| String | উদ্ধৃতি চিহ্নে আবদ্ধ অক্ষরের পাঠ্য |
| Boolean | একটি ডেটা টাইপ যা সত্য বা মিথ্যা উপস্থাপন করে |
| Undefined | একটি অনির্ধারিত মান সহ একটি আদিম পরিবর্তনশীল৷ |
| Null | একটি আদিম মান কোন বস্তুর প্রতিনিধিত্ব করে |
| Symbol | একটি অনন্য এবং আদিম শনাক্তকারী |
| Object | মূল-মূল্যের জোড়া ডেটার সংগ্রহ |
উদাহরণ
// Number
let length = 16;
let weight = 7.5;
// BigInt
let x = 1234567890123456789012345n;
let y = BigInt(1234567890123456789012345);
// Strings
let color = "Yellow";
let lastName = "Johnson";
// Boolean
let x = true;
let y = false;
// Undefined
let x;
let y;
// Null
let x = null;
let y = null;
// Symbol
const x = Symbol();
const y = Symbol();
// Object
const person = {firstName:"John", lastName:"Doe"};
// Array Object
const cars = ["Saab", "Volvo", "BMW"];
// Date Object
const date = new Date("2022-03-25");
ডেটা প্রকারের ধারণা
প্রোগ্রামিং, ডাটা টাইপ একটি গুরুত্বপূর্ণ ধারণা।
ভেরিয়েবলের উপর কাজ করার জন্য, টাইপ সম্পর্কে কিছু জানা গুরুত্বপূর্ণ।
ডেটা প্রকার ছাড়া, একটি কম্পিউটার নিরাপদে সমাধান করতে পারে না:
let x = 16 + "Volvo";
সিক্সটিনে "ভলভো" যোগ করার কি কোনো মানে হয়? এটি একটি ত্রুটি বা ফলাফল উত্পাদন করে?
জাভাস্ক্রিপ্ট উপরের উদাহরণ হিসাবে আচরণ করে:
let x = "16" + "Volvo";
দ্রষ্টব্য:
একটি সংখ্যা এবং একটি স্ট্রিং যোগ করার সময়, JavaScript সংখ্যাটিকে একটি স্ট্রিং হিসাবে বিবেচনা করে।
উদাহরণ
let x = 16 + "Volvo";
let x = "Volvo" + 16;
জাভাস্ক্রিপ্ট বাম থেকে ডানে অভিব্যক্তি মূল্যায়ন করে। বিভিন্ন ক্রম বিভিন্ন ফলাফল তৈরি করতে পারে:
JavaScript:
let x = 16 + 4 + "Volvo";
Result: 20Volvo
JavaScript:
let x = "Volvo" + 16 + 4;
Result: Volvo164
বর্ণনা:
প্রথম উদাহরণে, জাভাস্ক্রিপ্ট 16 এবং 4 সংখ্যা হিসাবে গণ্য করে যতক্ষণ না এটি "Volvo" এ পৌঁছায়।
দ্বিতীয় উদাহরণে, যেহেতু প্রথম অপারেন্ডটি একটি স্ট্রিং, তাই সমস্ত অপারেন্ডকে স্ট্রিং হিসাবে গণ্য করা হয়।
জাভাস্ক্রিপ্ট প্রকারগুলি গতিশীল
জাভাস্ক্রিপ্টের গতিশীল প্রকার রয়েছে। এর মানে হল যে একই ভেরিয়েবল বিভিন্ন ধরনের ডাটা ধরে রাখতে ব্যবহার করা যেতে পারে:
উদাহরণ
যাক x; // এখন x অনির্ধারিত x = 5; // এখন x একটি সংখ্যা x = "জন"; // এখন x একটি স্ট্রিং
জাভাস্ক্রিপ্ট স্ট্রিং
একটি স্ট্রিং (বা পাঠ্য স্ট্রিং) অক্ষরের একটি ক্রম, যেমন "জন ডো"।
স্ট্রিংগুলি উদ্ধৃতি দিয়ে লেখা হয়। আপনি একক বা ডবল উদ্ধৃতি ব্যবহার করতে পারেন:
উদাহরণ
// Using double quotes:
let carName1 = "Volvo XC60";
// Using single quotes:
let carName2 = 'Volvo XC60';
আপনি একটি স্ট্রিংয়ের মধ্যে উদ্ধৃতিগুলি ব্যবহার করতে পারেন যতক্ষণ না সেগুলি স্ট্রিংয়ের চারপাশের উদ্ধৃতিগুলির সাথে মেলে না:
// Single quote inside double quotes:
let answer1 = "It's alright";
// Single quotes inside double quotes:
let answer2 = "He is called 'Johnny'";
// Double quotes inside single quotes:
let answer3 = 'He is called "Johnny"';
জসিফ টিম নোট:
এছাড়াও পড়ুন: জাভাস্ক্রিপ্ট স্ট্রিং পদ্ধতি, জাভাস্ক্রিপ্ট স্ট্রিং অনুসন্ধান, জাভাস্ক্রিপ্ট স্ট্রিং রেফারেন্স
জাভাস্ক্রিপ্ট নম্বর
সমস্ত জাভাস্ক্রিপ্ট নম্বর ফ্লোটিং পয়েন্ট হিসাবে সংরক্ষণ করা হয়।
সংখ্যাগুলি দশমিক সহ বা ছাড়া লেখা যেতে পারে:
উদাহরণ
// With decimals:
let x1 = 34.00;
// Without decimals:
let x2 = 34;
Exponential Notation
সবচেয়ে বড় বা ক্ষুদ্রতম সংখ্যাগুলি বৈজ্ঞানিক (সূচক) স্বরলিপিতে লেখা যেতে পারে:
let y = 123e5; // 12300000
let z = 123e-5; // 0.00123
সংখ্যা বিভাগ
বেশিরভাগ প্রোগ্রামিং ল্যাঙ্গুয়েজ এর বিভিন্ন ধরনের সংখ্যা আছে:
- পূর্ণসংখ্যা: বাইট (8-বিট), ছোট (16-বিট), int (32-বিট), দীর্ঘ (64-বিট)
- বাস্তব সংখ্যা (ফ্লোটিং-পয়েন্ট): ফ্লোট (32-বিট), দ্বিগুণ (64-বিট)।
জাভাস্ক্রিপ্ট সংখ্যা সবসময় দ্বিগুণ (64-বিট ফ্লোটিং পয়েন্ট)।
জসিফ টিম নোট:
আরও জানুন: জাভাস্ক্রিপ্ট নম্বর টিউটোরিয়াল, জাভাস্ক্রিপ্ট নম্বর পদ্ধতি, জাভাস্ক্রিপ্ট নম্বর রেফারেন্স
JavaScript BigInt
সমস্ত জাভাস্ক্রিপ্ট নম্বর 64-বিট ফ্লোটিং-পয়েন্ট বিন্যাসে সংরক্ষণ করা হয়।
JavaScript BigInt হল একটি নতুন ডাটা টাইপ (ES2020) যা বড় পূর্ণসংখ্যার মান সঞ্চয় করতে ব্যবহার করা যেতে পারে যা সাধারণ জাভাস্ক্রিপ্ট সংখ্যা দ্বারা উপস্থাপিত হতে পারে না।
উদাহরণ
let x = BigInt("123456789012345678901234567890");
জসিফ টিম নোট:
আরও জানুন: JavaScript BigInt টিউটোরিয়াল
JavaScript Booleans
বুলিয়ানের শুধুমাত্র দুটি মান থাকতে পারে: সত্য বা মিথ্যা।
উদাহরণ
let x = 5;
let y = 5;
let z = 6;
(x == y) // Returns true
(x == z) // Returns false
বুলিয়ানগুলি প্রায়শই শর্তসাপেক্ষ পরীক্ষায় ব্যবহৃত হয়।
জসিফ টিম নোট:
আরও জানুন: জাভাস্ক্রিপ্ট বুলিয়ান টিউটোরিয়াল
JavaScript Objects
জাভাস্ক্রিপ্ট অবজেক্টগুলি জটিল ডেটা স্ট্রাকচার এবং ফাংশনগুলিকে উপস্থাপন করতে আদিম ডেটা টাইপের (স্ট্রিং, সংখ্যা, বুলিয়ান, নাল, অনির্ধারিত, প্রতীক, বিগইন্ট) অতিক্রম করে।
জাভাস্ক্রিপ্ট অবজেক্টগুলি কোঁকড়া বন্ধনী দিয়ে লেখা হয় { }।
জাভাস্ক্রিপ্ট অবজেক্টের বৈশিষ্ট্যের বিভিন্ন সেট রয়েছে।
অবজেক্টের বৈশিষ্ট্যগুলি নাম:মান জোড়া হিসাবে লেখা হয়, কমা দ্বারা পৃথক করা হয়।
উদাহরণ
4টি বৈশিষ্ট্য সহ একটি ব্যক্তি বস্তু তৈরি করুন: প্রথম নাম, শেষ নাম, বয়স এবং চোখের রঙ:
const person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
জসিফ টিম নোট:
আরও জানুন: জাভাস্ক্রিপ্ট অবজেক্ট টিউটোরিয়াল, জাভাস্ক্রিপ্ট অবজেক্ট ডেফিনিশন, জাভাস্ক্রিপ্ট অবজেক্ট রেফারেন্স
Built-In Object Types
একটি জাভাস্ক্রিপ্ট অবজেক্ট একটি জাভাস্ক্রিপ্ট অবজেক্ট বা ব্যবহারকারী-সংজ্ঞায়িত বস্তুর প্রতিনিধিত্ব করতে পারে।
অন্তর্নির্মিত জাভাস্ক্রিপ্ট অবজেক্টের প্রকারগুলি অন্তর্ভুক্ত থাকতে পারে:
| অর্থ | ব্যাখ্যা |
|---|---|
| Object | জটিল তথ্যের জন্য একটি মৌলিক বিল্ডিং ব্লক |
| Array | সংখ্যাসূচক সূচক দ্বারা অ্যাক্সেস করা মানগুলির অর্থ |
| Date | তারিখ এবং সময় নিয়ে কাজ করার বিষয় |
| RegExp | রেগুলার এক্সপ্রেশনের সাথে কাজ করার বস্তু |
| Map | কী-মান জোড়ার অর্থ, কী যে কোনও ডেটা টাইপের হতে পারে |
| Set | মানগুলির একটি বস্তু যেখানে প্রতিটি মান শুধুমাত্র একবার প্রদর্শিত হতে পারে |
| Error | একটি বস্তু যা প্রোগ্রাম নির্বাহের সময় ত্রুটির অবস্থার প্রতিনিধিত্ব করে |
| Promise | একটি বস্তু যা একটি অ্যাসিঙ্ক্রোনাস অপারেশনের সমাপ্তি বা ব্যর্থতার প্রতিনিধিত্ব করে |
দ্রষ্টব্য:
উপরের তালিকাটি সম্পূর্ণ নয়, কারণ জাভাস্ক্রিপ্ট অন্যান্য বিল্ট-ইন অবজেক্টের ধরন যেমন গাণিতিক পদ্ধতি এবং মানগুলির জন্য গণিত প্রদান করে, সেইসাথে নির্দিষ্ট কাজের জন্য বিভিন্ন বিশেষ বস্তু প্রদান করে।
অপারেটর প্রকার
আপনি জাভাস্ক্রিপ্ট ভেরিয়েবলের ধরন খুঁজে পেতে JavaScript typeof অপারেটর ব্যবহার করতে পারেন।
typeof অপারেটর একটি পরিবর্তনশীল বা অভিব্যক্তির ধরন প্রদান করে:
উদাহরণ
typeof "" // Returns "string"
typeof "John" // Returns "string"
typeof "John Doe" // Returns "string"
typeof 0 // Returns "number"
typeof 314 // Returns "number"
typeof 3.14 // Returns "number"
typeof (3) // Returns "number"
typeof (3 + 4) // Returns "number"
জসিফ টিম নোট:
আরও জানুন: টিউটোরিয়ালের জাভাস্ক্রিপ্ট প্রকার
JavaScript Arrays
জাভাস্ক্রিপ্ট অ্যারে হল একটি বিশেষ ধরনের জাভাস্ক্রিপ্ট অবজেক্ট।
জাভাস্ক্রিপ্ট অ্যারে বর্গাকার [ ] বন্ধনী দিয়ে লেখা হয়।
অ্যারে আইটেম কমা দ্বারা পৃথক করা হয়.
নিম্নলিখিত কোডটি গাড়ি নামে একটি অ্যারে (গাড়ির নাম ধারণকারী) ঘোষণা করে (তৈরি করে)
উদাহরণ
const cars = ["Saab", "Volvo", "BMW"];
অ্যারে সূচীগুলি শূন্য-ভিত্তিক, যার অর্থ প্রথম আইটেমটি [0], দ্বিতীয়টি [1] এবং আরও অনেক কিছু।
জসিফ টিম নোট:
আরও জানুন: জাভাস্ক্রিপ্ট অ্যারে টিউটোরিয়াল, জাভাস্ক্রিপ্ট অ্যারে পদ্ধতি, জাভাস্ক্রিপ্ট অ্যারে রেফারেন্স
Undefined
জাভাস্ক্রিপ্টে, একটি নাল ভেরিয়েবলের মান অনির্ধারিত থাকে। প্রকারটিও অনির্ধারিত।
উদাহরণ
let car; // Value is undefined, type is undefined
মান অনির্ধারিত সেট করে যেকোনো ভেরিয়েবলকে খালি করা যেতে পারে। প্রকারটিও অনির্ধারিত হবে।
car = undefined; // Value is undefined, type is undefined
খালি মান
একটি খালি মান অনির্ধারিত সঙ্গে কিছুই করার নেই.
একটি খালি স্ট্রিং এর একটি আইনি মান এবং প্রকার উভয়ই আছে।
উদাহরণ
let car = ""; // The value is "", the typeof is "string"
ডেটা টাইপ শূন্য
জাভাস্ক্রিপ্টে, একটি ভেরিয়েবল বা এক্সপ্রেশন বিভিন্ন উপায়ে নাল ডেটা টাইপ অর্জন করতে পারে।
একটি ফাংশন নাল দিতে পারে বা একটি ভেরিয়েবলকে একটি নাল মান নির্ধারণ করা যেতে পারে:
উদাহরণ
let carName = null;
দ্রষ্টব্য:
অপারেটর টাইপ অবজেক্টকে শূন্য করে দেয়।
এটি জাভাস্ক্রিপ্টে একটি ঐতিহাসিক ব্যঙ্গ এবং এটি বোঝায় না যে নাল একটি বস্তু।
কঠোর সমতা অপারেটর (===) দুটি অপারেন্ডের মান এবং প্রকারের তুলনা করে।
উভয় অপারেটরের মান এবং প্রকার শূন্য হলেই সত্য দেখায়।
শিথিল সমতা অপারেটর (==) নাল মানের জন্য সত্য প্রদান করে, কিন্তু মানটি অনির্ধারিত থাকলেও সত্য প্রদান করে।
== ব্যবহার করার সময় নাল পরীক্ষা করা বাঞ্ছনীয় নয়।