জাভাস্ক্রিপ্টে ডেটা টাইপ

জাভাস্ক্রিপ্টে ডেটা টাইপ

এই লেখাটি জাভাস্ক্রিপ্টে ডেটা টাইপ ব্যাখ্যা করে।

YouTube Video

জাভাস্ক্রিপ্টে ডেটা টাইপ

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

প্রাথমিক প্রকারসমূহ

প্রিমিটিভ টাইপগুলি সাধারণ ডেটা টাইপ যা একক মান উপস্থাপন করে। জাভাস্ক্রিপ্টে নিম্নলিখিত ৭টি প্রিমিটিভ টাইপ রয়েছে।

number

1let num = 42;
2let pi = 3.14;
3
4console.log("Value of num:", num);
5console.log("Value of pi:", pi);
  • number হলো একটি টাইপ যা সংখ্যাসংক্রান্ত মানগুলি, যেমন পূর্ণসংখ্যা এবং দশমিক সংখ্যা (ফ্লোটিং-পয়েন্ট সংখ্যা) পরিচালনার জন্য ব্যবহৃত হয়। নির্দিষ্ট সীমা অতিক্রম করা মানগুলো পরিচালনা করলে ফলাফল হবে Infinity বা NaN (নট-এ-নাম্বার)।
1// Decimal calculations
2console.log(0.1 + 0.2 === 0.3); // false
3console.log(0.1 + 0.2); // 0.30000000000000004
4
5// Calculations with large numbers
6console.log(9007199254740991 + 1); // correct value
7console.log(9007199254740991 + 2); // incorrect value
  • জাভাস্ক্রিপ্টে, সংখ্যাগুলি ফ্লোটিং-পয়েন্ট সংখ্যার হিসাবে উপস্থাপিত হয়। ফলস্বরূপ, নির্দিষ্ট দশমিক সংখ্যা (বিশেষত যেগুলি বাইনারিতে সঠিকভাবে উপস্থাপন করা যায় না) সঠিকভাবে প্রকাশিত নাও হতে পারে।
  • যখন নির্ভুল গণনার প্রয়োজন হয়, উদাহরণস্বরূপ আর্থিক মানগুলোর জন্য, তখন এই রকম সংখ্যাগুলি সূক্ষ্মীকরণ ত্রুটি এড়ানো প্রয়োজন। উদাহরণস্বরূপ, আপনি BigInt ব্যবহার করতে পারেন বা toFixed() এর সাথে দশমিক স্থানগুলির সংখ্যা সামঞ্জস্য করতে পারেন।

string

1let greeting = "Hello, world!";
2let char = 'A';
3const message = `"${greeting}" in JavaScript`;
4
5console.log("Value of greeting:", greeting);
6console.log("Value of char:", char);
7console.log("Value of message:", message);
  • string হলো একটি ডেটা টাইপ যা পাঠ্য পরিচালনার জন্য ব্যবহৃত হয় এবং অক্ষরের একটি ক্রম উপস্থাপন করে। এটি একক উদ্ধৃতি চিহ্ন (') বা ডাবল উদ্ধৃতি চিহ্ন (") এর মধ্যে পাঠ্য বন্ধ করে উপস্থাপিত হয়। ES6 থেকে, টেমপ্লেট লিটারাল ব্যাকটিক্স () ব্যবহার করে ভেরিয়েবল সহজে এম্বেড করার অনুমতি দেয়। একটি ভেরিয়েবল এম্বেড করতে ${}` সিনট্যাক্স ব্যবহার করুন।

boolean

1let isAvailable = true;
2let hasError = false;
3
4console.log("Value of isAvailable:", isAvailable);
5console.log("Value of hasError:", hasError);
  • boolean একটি লজিকাল মান উপস্থাপন করে এবং এটি শুধুমাত্র দুই ধরনের মান বহন করতে পারে: true বা false। এটি শর্তমূলক এক্সপ্রেশনগুলির ফলাফল হিসাবে, অথবা একটি ফ্ল্যাগ হিসাবে ব্যবহৃত হয়।

null

1let result = null;
2
3console.log("Value of result:", result);
  • null হলো একটি ডেটা টাইপ যা স্পষ্টভাবে 'কোনও মান নেই' নির্দেশ করে। null হল ডেভেলপারদের দ্বারা নির্ধারিত একটি মান যা একটি উদ্দেশ্যপ্রণোদিত শূন্যতা নির্দেশ করে।

undefined

1let score;
2let subject = undefined;
3
4console.log("Value of score:", score);     // undefined
5console.log("Value of subject:", subject);
  • undefined হলো একটি ডেটা টাইপ যার অর্থ 'অসংজ্ঞায়িত'। যখন একটি ভেরিয়েবল ঘোষণা করা হয় কিন্তু মান প্রয়োগ করা হয় না, তখন স্বয়ংক্রিয়ভাবে সেটিকে undefined নির্ধারণ করা হয়।

bigint

1let bigIntValue = 9007199254740991n;
2let anotherBigInt = 123456789012345678901234567890n;
3
4console.log("Value of bigIntValue:", bigIntValue);
5console.log("Value of anotherBigInt:", anotherBigInt);
  • bigint হল বড় পূর্ণসংখ্যা পরিচালনার জন্য একটি ডেটা টাইপ। bigint বড় পূর্ণসংখ্যার সঠিক উপস্থাপনা প্রদান করে যা number টাইপ দ্বারা উপস্থাপন করা যায় না। bigint লিটারেল একটি সংখ্যার শেষে n যোগ করে উপস্থাপন করা হয়।
  • bigint হল একটি ডেটা টাইপ যা ইচ্ছামতো আকারের পূর্ণসংখ্যাগুলি পরিচালনার জন্য ব্যবহৃত হয় এবং এর কোনো সীমারেখা নেই। তবে, bigint এবং number একসঙ্গে সরাসরি পরিচালনা করা যায় না, তাই সতর্কতা প্রয়োজন।

Symbol

1let sym1 = Symbol('id');
2let sym2 = Symbol('id');
3
4console.log("sym1 === sym2:", sym1 === sym2); // false
  • Symbol হল একটি ডেটা টাইপ যা অনন্য শনাক্তকারী তৈরি করার জন্য ব্যবহৃত হয়। এটি Symbol() ব্যবহার করে তৈরি করা হয় এবং একটি অবজেক্টের প্রপার্টি হিসেবে ব্যবহৃত হতে পারে। অন্যান্য প্রিমিটিভ টাইপের থেকে ভিন্ন, Symbol-এর অনন্য মান রয়েছে, তাই একই কনটেন্ট থাকলেও এটি একটি ভিন্ন Symbol হিসেবে গণ্য হয়।

অবজেক্ট টাইপস

অবজেক্ট টাইপস হল ডেটা স্ট্রাকচার যা একাধিক মান সংরক্ষণ করতে পারে। একটি অবজেক্ট হল কী-মূল্য জোড়ার একটি সংগ্রহ এবং এতে প্রপার্টি এবং মেথড থাকতে পারে।

Object

1let person = {
2    name: "John",
3    age: 30,
4    isEmployee: true
5};
6console.log(person.name); // John
  • Object হল একাধিক ডেটা টাইপ সংরক্ষণ করতে সক্ষম প্রোপার্টি (কী-মান জোড়া) এর একটি সংগ্রহ। অবজেক্টগুলো {} কার্লি ব্রেসেস দ্বারা উপস্থাপিত হয়, এবং প্রতিটি প্রপার্টি কী এবং মানের মধ্যে : দ্বারা সংযুক্ত থাকে।

Array

1let numbers = [10, 20, 30];
2console.log(numbers[0]); // 10
3console.log(numbers[1]); // 20
4console.log(numbers[2]); // 30
5console.log(numbers[3]); // undefined
  • Array হল একটি তালিকা যা বিভিন্ন মানকে একটি সমবিন্যস্ত পদ্ধতিতে ধারণ করে। অ্যারে [] স্কোয়ার ব্র্যাকেট দিয়ে উপস্থাপিত হয়, এবং মানগুলো কমা , দিয়ে পৃথক করা হয়। প্রতি উপাদানে 0 থেকে শুরু হওয়া ইনডেক্স ব্যবহার করে প্রবেশাধিকার পাওয়া যায়।

Function

1function greet(name) {
2    return "Hello, " + name;
3}
4console.log(greet("Alice")); // Hello, Alice
  • ফাংশনগুলো একটি অবজেক্টের টাইপ এবং কোডের পুনরায় ব্যবহারযোগ্য ব্লক। ফাংশনগুলি function কীওয়ার্ড ব্যবহার করে নির্ধারণ করা যায়।

অন্যান্য অবজেক্ট টাইপস

  • JavaScript-এ বিল্ট-ইন অবজেক্ট টাইপও আছে যেমন Date, RegExp, Map, এবং Set। এগুলো নির্দিষ্ট ইউজ কেস অনুসারে ডেটা পরিচালনা করে।

টাইপ কনভার্সন

JavaScript-এ ইমপ্লিসিট এবং এক্সপ্লিসিট টাইপ কনভার্সন প্রায়ই করা হয়।

ইমপ্লিসিট টাইপ কনভার্সন

  • জাভাস্ক্রিপ্ট বিভিন্ন ধরনের মধ্যে অপারেশন সম্পাদনের সময় স্বয়ংক্রিয়ভাবে টাইপগুলি রূপান্তর করতে পারে।
1let result = 5 + "5"; // "55" (the number is converted to a string)
2
3console.log(result);
  • এই উদাহরণে, সংখ্যা 5 ইমপ্লিসিটলি একটি স্ট্রিং-এ রূপান্তরিত হয়, যার ফলে স্ট্রিং "55" পাওয়া যায়।

এক্সপ্লিসিট টাইপ কনভার্সন

  • ডেভেলপাররা টাইপ কনভার্সন স্পষ্টভাবে (এক্সপ্লিসিটলি) করতে পারেন।
1let num = "123";
2let convertedNum = Number(num); // Converts "123" to the number 123
3
4console.log(typeof num);
5console.log(typeof convertedNum);
  • এই উদাহরণে, Number() ফাংশনটি ব্যবহার করা হয়েছে স্ট্রিং "123"কে এক্সপ্লিসিটলি সংখ্যা 123-এ রূপান্তর করার জন্য।

টাইপ চেকিং

JavaScript-এ, আপনি একটি ভেরিয়েবলের ডেটা টাইপ পরীক্ষা করার জন্য typeof অপারেটর ব্যবহার করতে পারেন।

 1// Output: The type of 42 is: number
 2console.log('The type of 42             is:', typeof 42);
 3
 4// Output: The type of 42 is: bigint
 5console.log('The type of 42n            is:', typeof 42n);
 6
 7// Output: The type of "hello" is: string
 8console.log('The type of "hello"        is:', typeof "hello");
 9
10// Output: The type of true is: boolean
11console.log('The type of true           is:', typeof true);
12
13// Output: The type of undefined is: undefined
14console.log('The type of undefined      is:', typeof undefined);
15
16// Output: The type of null is: object
17console.log('The type of null           is:', typeof null);
18
19// Output: The type of Symbol() is: symbol
20console.log('The type of Symbol()       is:', typeof Symbol());
21
22// Output: The type of {} is: object
23console.log('The type of {}             is:', typeof {});
24
25// Output: The type of function () {} is: function
26console.log('The type of function () {} is:', typeof function () {});

উপসংহার

  • প্রিমিটিভ টাইপসের মধ্যে রয়েছে number, string, boolean, null, undefined, এবং symbol
  • অবজেক্ট টাইপসের মধ্যে রয়েছে Object, Array, Function, এবং অন্যান্যরাও।
  • যেহেতু স্বয়ংক্রিয় এবং স্পষ্ট টাইপ রূপান্তর উভয়ই ঘটে, তাই ডেটা টাইপের সঠিক ব্যবহারের বিষয়টি বোঝা গুরুত্বপূর্ণ।

আপনি আমাদের ইউটিউব চ্যানেলে ভিজ্যুয়াল স্টুডিও কোড ব্যবহার করে উপরের নিবন্ধটি অনুসরণ করতে পারেন। দয়া করে ইউটিউব চ্যানেলটিও দেখুন।

YouTube Video