আশা করি আমরা জাভাস্ক্রিপ্ট টাইপ কনভারশন বা কাস্টিং একটু আধটু হলেও পারি । আজকে আমি কিছু টাইপ কাস্টিং সমন্ধে আলোচনা করবো হয়তো আপনারা অনেকেই পারেন বা জানেন।
কিভাবে এক ডাটা টাইপ থেকে আরেক ডাটা টাইপে কনভার্ট করতে হয় তা সম্পর্কে শিখবো সাথে প্রত্যেকটা কাস্টিং এর LONG HAND এবং SHORT HAND দেখবো ।
সো, আজাইরা ইন্ট্রো গল্প বাদ দিয়ে টাইপ কাস্টিং বা কনভারশন কি তা সমন্ধে পড়া যাক -
এক ডাটা টাইপ থেকে আরেক ডাটা টাইপে কনভার্ট বা রূপান্তর করাকেই টাইপ কাস্টিং বা কনভারশন বলে । যেমন - string থেকে number এবং number থেকে string ইত্যাদি ইত্যাদি ।
আজকে আমরা যা যা শিখবো -
- ভ্যালু(value) থেকে বুলিয়ানে(Boolean) রূপান্তর
- স্ট্রিং(string) থেকে নাম্বার(number)
- নাম্বার(number) থেকে স্ট্রিং(string)
- ফ্লোট(float) থেকে ইন্টিজার(integer)
1. ভ্যালু(value) থেকে বুলিয়ানে(Boolean) রূপান্তর :-
আমরা জানি যে বুলিয়ান(Boolean) ডাটা টাইপ সর্বদা দুইটা ভ্যালু রিটার্ন করে সত্য(true) অথবা মিথ্যা(false) । তো চলুন প্রথমে একটা স্ট্রিং(string) কে বুলিয়ানে রুপান্তর করি -
const name = 'Shakil Babu';
আমরা জানি যে উপোরক্ত name একটি truthy ভ্যালু ধরে রাখে যার ডাটা টাইপ
স্ট্রিং(string) । এখন আমরা এইটাকে বুলিয়ানে(Boolean) রুপান্তর করবো । তো
আমরা সচারচর যেভাবে করে থাকি তা হলো -
const name = 'Shakil Babu';
console.log(Boolean(name));
// true
এই একই কাজটা আমরা আরো সহজভাবে করতে পারি শুধু Boolean এর জায়গায় আমাদের কে দুইটা exclamatory sign(!) বা বিস্ময়কর চিহ্ন ব্যাবহার করতে হবে নিচে দেখুন -
const name = 'Shakil Babu';
console.log(!!(name));
// true
নাম্বার (number) থেকে বুলিয়ানে (boolean) :-
const Number = 100;
console.log(!!100);
// true
অ্যারে (array) থেকে বুলিয়ানে (boolean) :-
let arr = [1,2,3,4];
console.log(!!(!arr));
// false
এইখানে অ্যারের আগে দুইটা exclamatory sign(!) বা বিস্ময়কর চিহ্ন ব্যাবহার করা হয়েছে বুলিয়ানে রুপান্তর করার জন্যে এবং
!arr
এইখানে একটা (!) ব্যাবহার করা হয়ছে true কে false করার জন্যে।
আশা করি বুঝতে পারছেন ।
2. স্ট্রিং(string) থেকে নাম্বার(number) :-
কোনো একটা স্ট্রিং কে নাম্বারে কনভার্ট করতে হইলে স্ট্রিংটা অবশ্যই নাম্বারের হতে হবে যেমন:- "10"
তাহলে নাম্বারে কাস্টিং করার পর আমাদেরকে আউটপুট হিসেবে একটি নাম্বার দিবে । আর যদি স্ট্রিং(string) টা number না হয় অর্থাৎ "ten"
এইরকম হয় তাহলে আমাদেরকে আউটপুট হিসেবে NaN(Not a Number)
দিবে।
আমরা আগে যে ভাবে স্ট্রিং(string) থেকে নাম্বারে(number) কনভার্ট করতাম তা হলো :-
const ten = "10";
console.log(parseInt(ten));
// 10
// type number
<!--=========== OR ========= -->
const eight = '8';
console.log(Number(eight));
// 8
// type number
উপরোক্ত কাজটি আমরা আরও সহজে করতে পারি শুধু আমাদের কোনো স্ট্রিং(string)
এর সামনে একটা প্লাস সাইন (+) ইউস করতে হবে তাহলেই কাজ খতম । অনেক সোজা এবং
সংক্ষিপ্ত মনে হচ্ছে তাই না ? তো চলুন দেখা যাক -
SHORT HAND :-
const ten = +"10";
console.log(ten);
// 10
console.log(typeof(ten));
// number
দেখছেন ? আসলেই অনেক সোজা এবং তাড়াতাড়ি হইলো কাজটা ।
3. নাম্বার(number) থেকে স্ট্রিং(string) :-
এখন আমরা নাম্বার(number) থেকে স্ট্রিং(string) এ কিভাবে কনভার্ট করতে হয় তা দেখবো দুইটা উপায়ে একটা পুরাতন ওয়েতে আরেকটা সংক্ষিপ্ত এবং নতুন ওয়েতে ।
OLD WAY or LONGHAND :-
let ten = 10;
ten = ten.toString();
console.log(ten);
// 10
console.log(typeof(ten));
// string
<!--=========== OR ========= -->
let eight = 8;
eight = String(eight);
console.log(eight);
// 8
console.log(typeof(eight));
// string
SHORT HAND:-
let eight = 8+"";
console.log(eight);
// 8
console.log(typeof(eight));
// string
যে নাম্বারকে স্ট্রিং এ কনভার্ট করবেন শুধু ওই নাম্বারের সাথে একটি ফাকা স্ট্রিং প্লাস (+) করে দিলেই হয় ।
4. ফ্লোট(float) থেকে ইন্টিজার(integer):-
আমরা জানি ফ্লোট(float) এবং ইন্টিজার(integer) দুইটাই নাম্বার ডাটা টাইপ । যে সংখ্যা গুলো পূর্ণ সংখ্যা নয় অর্থাৎ দশমিক এবং দশমিকের পরে আরও সংখ্যা থাকে তাদেরকে ফ্লোট(float) সংখ্যা বলে । আর যে সংখ্যা গুলোর দশমিক এবং দশমিকের পরে কোনো সংখ্যা থাকে নাহ অর্থাৎ পূর্ণ সংখ্যা তাদেরকে ইন্টিজার সংখ্যা বলে ।
এখন কনভারশন বা কাস্টিং দেখা যাক -
LONG HAND :-
let price = 12.40;
price = parseInt(price);
console.log(price);
// 12
SHORT HAND :-
console.log(12.40 | 0);
// 12
console.log(59.55 | 0);
// 59
যে ফ্লোট(float) নাম্বারকে ইন্টিজারে(integer) কনভার্ট করা হবে সেই সংখ্যা এবং 0 এর মাঝে একটা
|
এই সাইন দিতে হবে তাহলেই কাজ হয়ে যাবে।
আশা করি আপনারা বুঝতে পারছেন এবং পুরো টিউটোরিয়াল থেকে কিছু একটা জানতে বা
শিখতে পারছেন। যদি লিখায় কোনো ভূল পেয়ে থাকেন তাহলে জানাতে ভুলবেন নাহ
কিন্তু ধন্যবাদ ।
0 comments:
Post a Comment