ট্রাক্টর ট্রাক্টর Type Constructor
জাভাস্ক্রিপ্টে বেশির ভাগ সময় আমরা সরাসরি বিভিন্ন ধরনের ভেরিয়েবল ডাইরেক্ট ডিক্লেয়ার করে ফেলি। তাই বেশির ভাগ সময় বিল্ট-ইন টাইপ কন্সট্রাক্টরের (Number, String, Boolean, Function, Object) দরকার পড়ে না। তারপরেও এইগুলা কদাচিৎ কাজে লেগে যেতে পারে। তাই একটু দেখে রাখ।
তুই বলতে পারস, ভাই কন্সট্রাক্টর কী জিনিস বা আমি এই কন্সট্রাক্টর দিয়ে কী করব। আমি কন্সট্রাক্টর নিয়ে বিস্তারিত একটু পরে বলতেছি। তবে সিম্পলভাবে খেয়াল করতে পারস, কন্সট্রাক্টর মানে সেটা দিয়ে আমি কিছু একটা বানাব বা কন্সট্রাক্ট করব। constructor শব্দটা construct-এর কাছাকাছি। construct বলতে বুঝায় বানানো বা তৈরি করা। আর constructor মানে হচ্ছে, কে তৈরি করে।
Number Constructor
ধর, তোর কাছে একটা স্ট্রিং আকারে সংখ্যা আছে। সেটা তুই সংখ্যা হিসেবে ব্যবহার করতে চাইছিস। তখনই Number কন্সট্রাক্টর কাজে আসবে।
const strNum = "42";
const num = Number(strNum);
console.log(num);
Output: 42যদিও স্ট্রিং থেকে সংখ্যায় রূপান্তর করার আরেকটা শর্টকার্ট আছে। সেটা হচ্ছে, স্ট্রিংওয়ালা সংখ্যার আগে একটা প্লাস চিহ্ন দিয়ে দিলেই সেটা Number টাইপে কনভার্ট হয়ে যাবে।
const str = '591';
const num = +str
console.log(typeof num)
Output: numberString Constructor
আবার একটা সংখ্যা আছে। সেটাকে স্ট্রিং হিসেবে পাওয়া দরকার। তখন String কন্সট্রাক্টর খুব কাজে লাগে।
const num = 123;
const str = String(num);
console.log(str);
Output: "123"সংখ্যা থেকে স্ট্রিংয়ে কনভার্ট করার একটা শর্টকাট সিস্টেম আছে। সেটা হচ্ছে সংখ্যার সাথে একটা এম্পটি স্ট্রিং ('') যোগ করে দিবি। তাহলেই একটা number টাইপের ভেরিয়েবল স্ট্রিং টাইপের ভেরিয়েবল হয়ে যাবে।
const num = 931;
const str = num + '';
console.log(typeof str)
Output: stringBoolean Constructor:
অনেক সময় এমন হয় যে, তুই কোনো ভ্যালু চেক করতে চাইছিস, এটা true না false। তখন Boolean কন্সট্রাক্টর কাজে আসে।
const isTruthy = Boolean(1);
console.log(isTruthy);
Output: trueএকইভাবে false, 0, null, undefined, NaN, empty string("") এগুলো Boolean কন্সট্রাক্টরে দিলে false দেখাবে। এইগুলা ছাড়া বাকি যেগুলা আছে, সেগুলা true দিবে। যেমন, যেকোনো স্ট্রিং, শূন্য ছাড়া যেকোনো সংখ্যা, [ ], { } ইত্যাদি তোকে true দিবে।
Function Constructor
তুই যদি ডায়নামিকভাবে একটা ফাংশন তৈরি করতে চাস, তাহলে Function কন্সট্রাক্টর ব্যবহার করতে পারিস। তবে খুব বেশি দরকার ছাড়া এটা এড়িয়ে চলা ভালো।
const add = new Function("a", "b", "return a + b");
console.log(add(5, 10));
Output: 15Object Constructor
এটা একটু পুরনো পদ্ধতি, যেখানে new Object() ব্যবহার করে অবজেক্ট তৈরি করা যায়। সাধারণত কেউ ইউজ করে না। তারপরেও চাইলে এইভাবে অবজেক্ট তৈরি করা যায়।
const person = new Object();
person.name = "John";
person.age = 30;
console.log(person);
Output: {name: 'John', age: 30}Practice:
- একটা ভেরিয়েবল বানা, যার নাম হবে start। এর ভ্যালু হবে '786'। এরপর এই স্ট্রিংটাকে সংখ্যায় রূপান্তর কর।
- একটা ভেরিয়েবল বানা, যার নাম willAttend এবং এইটার মান 0 হবে। এখন এই ভেরিয়েবলকে Boolean টাইপে কনভার্ট কর এবং console-এ দেখা।
- Object কন্সট্রাক্টর দিয়ে একটি অবজেক্ট তৈরি কর, যেখানে city এবং country নামে দুইটা প্রোপার্টি থাকবে।
- একটা ভেরিয়েবল বানা, যার নাম হবে total। এর ভ্যালু হবে 1970 । এই সংখ্যাটাকে স্ট্রিংয়ে রূপান্তর কর।