জেভাস্ক্রিপ্ট টাইপ কনভারশন
- পূর্ববর্তী পৃষ্ঠা জেএস typeof
- পরবর্তী পৃষ্ঠা জেএস ডিসট্রাকচার
Number()
নম্বর ট্রান্সফরমString()
স্ট্রিং ট্রান্সফরমBoolean()
বলুয়েই ট্রান্সফরম
JavaScript ডাটা টাইপ
JavaScript-এ মূল্য ধারণ করতে পারে এমন পাঁচটি ডাটা টাইপ রয়েছে:
- স্ট্রিং (string)
- নম্বর (number)
- বলুয়েই (boolean)
- অবজেক্ট (object)
- ফাংশন (function)
তিনটি অবজেক্ট টাইপ রয়েছে:
- অবজেক্ট (Object)
- তারিখ (Date)
- আইসক্রিপ্ট (Array)
দুইটি কোনও মূল্য ধারণ করতে পারবে না এমন ডাটা টাইপ রয়েছে:
- নাল
- ইউনডিফাইনেড
typeof অপারেটর
আপনি ব্যবহার করতে পারেন typeof
অপারেটর দ্বারা JavaScript ভেক্টরের ডাটা টাইপ নির্ধারণ করা হয়。
প্রয়োগ
typeof "Bill" // ফলাফল "string" typeof 3.14 // ফলাফল "number" typeof NaN // ফলাফল "number" typeof false // ফলাফল "boolean" typeof [1,2,3,4] // ফলাফল "object" typeof {name:'Bill', age:62} // ফলাফল "object" typeof new Date() // ফলাফল "object" typeof function () {} // ফলাফল "function" typeof myCar // ফলাফল "undefined" * typeof null // ফলাফল "object"
দৃষ্টান্ত:
- NaN এর ডেটা টাইপ হল number
- অ্যারের ডেটা টাইপ হল object
- ডেটা এর ডেটা টাইপ হল object
- null এর ডেটা টাইপ হল object
- অসংজ্ঞীভূত ভেক্টরের ডেটা টাইপও ইউনডিফাইনেড
- যেটা এখনও এসেছে না এমন ভেক্টরের ডেটা টাইপও ইউনডিফাইনেড
আপনি ব্যবহার করতে পারবেন না typeof
জাস্ট্রিং ওবজেক্টটি কিনা একটি অ্যারেই (বা ডেটা) হয়েছে তা চিহ্নিত করতে
typeof এর ডেটা টাইপ
typeof
অপারেশনার নয়, এটা অপারেশনার। অপারেশনার (যেমন +
-
*
/
)কোনো ডেটা টাইপ নেই。
কিন্তুtypeof
সবসময়স্ট্রিং ফিরিয়ে দেয়(যেমন অপারেশনের ধরন)。
constructor অ্যাট্রিবিউট
constructor
প্রতিটি JavaScript ভেক্টরের কন্সট্রাকটর ফাংশন ফিরিয়ে দেয়।
প্রয়োগ
"Bill".constructor // ফলাফল "function String() { [native code] }" (3.14).constructor // ফলাফল "function Number() { [native code] }" false.constructor // ফলাফল "function Boolean() { [native code] }" [1,2,3,4].constructor // ফলাফল "function Array() { [native code] }" {name:'Bill', age:62}.constructor // ফলাফল "function Object() { [native code] }" new Date().constructor // ফিরিয়ে দেয় "function Date() { [native code] }" function () {}.constructor // ফিরিয়ে দেয় "function Function(){ [native code] }"
আপনি পরীক্ষা করতে পারেন constructor
প্রকার প্রতিষ্ঠান থেকে কোনও অবজেক্টকে এক্সেক্যুটিভ হয়েছে কিনা তা পরীক্ষা করার জন্য ব্যবহার করুন (শব্দ "Array" থাকতে হবে):
প্রয়োগ
function isArray(myArray) { return myArray.constructor.toString().indexOf("Array") > -1; }
বা আরও সহজ, আপনি অবজেক্টটি কিনা এক্সেক্যুটিভ ফাংশন হয়েছে তা পরীক্ষা করতে পারেন:
প্রয়োগ
function isArray(myArray) { return myArray.constructor === Array; }
আপনি পরীক্ষা করতে পারেন constructor
প্রকার প্রতিষ্ঠান থেকে কোনও অবজেক্টকে তারিখ হয়েছে কিনা তা পরীক্ষা করার জন্য ব্যবহার করুন (শব্দ "Date" থাকতে হবে):
প্রয়োগ
function isDate(myDate) { return myDate.constructor.toString().indexOf("Date") > -1; }
বা আরও সহজ, আপনি অবজেক্টটি কিনা তারিখ ফাংশন হয়েছে তা পরীক্ষা করতে পারেন:
প্রয়োগ
function isDate(myDate) { return myDate.constructor === Date; }
জেভাস্ক্রিপ্ট টাইপ কনভারশন
জেভাস্ক্রিপ্ট পরিবর্তায়ক একটি নতুন পরিবর্তায়ক এবং আরেকটি ডাটা টাইপে রূপান্তরিত করতে পারে:
- জেভাস্ক্রিপ্ট ফাংশন ব্যবহার করে
- জেভাস্ক্রিপ্টের মধ্যদিয়েইস্বচ্ছতায়রূপান্তর
সংখ্যা থেকে স্ট্রিং রূপান্তরিত করা
সার্বজনীন মথড String()
সংখ্যা থেকে স্ট্রিং রূপান্তরিত করতে পারে
এটা কোনও ধরণের সংখ্যা, লেখা, পরিবর্তায়ক বা এক্সপ্রেশনের জন্য ব্যবহার্য:
প্রয়োগ
String(x) // সংখ্যা পরিবর্তায়ক x থেকে স্ট্রিং ফিরিয়ে দেয় String(123) // 123 সংখ্যা থেকে স্ট্রিং ফিরিয়ে দেয় String(100 + 23) // এক্সপ্রেশনের মধ্যে সংখ্যা থেকে স্ট্রিং ফিরিয়ে দেয়
সংখ্যা পদ্ধতি toString()
একইভাবে。
প্রয়োগ
x.toString() (123).toString() (100 + 23).toString()
একটিসংখ্যা পদ্ধতিএই চাপ্তির মধ্যে, আপনি সংখ্যা থেকে স্ট্রিং রূপান্তরিত করার জন্য ব্যবহার্য বিভিন্ন পদ্ধতি জানবেন:
পদ্ধতি | বর্ণনা |
---|---|
toExponential() | স্ট্রিং ফিরিয়ে দেয়, সংখ্যা ছাড়াতে এবং ইনডেক্স গণনা ব্যবহার করে লিখে। |
toFixed() | স্ট্রিং ফিরিয়ে দেয়, সংখ্যা ছাড়াতে এবং নির্দিষ্ট দশমিক সংখ্যা ব্যবহার করে লিখে। |
toPrecision() | স্ট্রিং ফিরিয়ে দেয়, সংখ্যা নির্দিষ্ট দৈর্ঘ্যে লিখে। |
বুলকে শব্দ রূপান্তর
সার্বজনীন মথড String()
বুলকে শব্দ রূপান্তর করা যায়
String(false) // ফলাফল "false" String(true) // ফলাফল "true"
বুল পদ্ধতি toString()
একইভাবে。
false.toString() // ফলাফল "false" true.toString() // ফলাফল "true"
তারিখকে শব্দ রূপান্তর
সার্বজনীন মথড String()
তারিখকে শব্দ রূপান্তর করা যায়
String(Date())
তারিখ মথড toString()
একইভাবে。
প্রয়োগ
Date().toString()
একটিতারিখ মথডএই চাপটিতে, আপনি তারিখকে শব্দ রূপান্তর করা যায় এমন আরও কিছু পদ্ধতি পাবেন:
পদ্ধতি | বর্ণনা |
---|---|
getDate() | দিন (1-31) পাওয়া |
getDay() | বছরের সপ্তাহ (0-6) রূপান্তরিত হয় |
getFullYear() | চার সংখ্যাকীয় বছর পাওয়া (yyyy) |
getHours() | ঘন্টা পাওয়া (0-23) |
getMilliseconds() | মিলিসেকেন্ড পাওয়া (0-999) |
getMinutes() | মিনিট পাওয়া (0-59) |
getMonth() | মাস পাওয়া (0-11) |
getSeconds() | সেকেন্ড পাওয়া (0-59) |
getTime() | সময় পাওয়া (1970 সাল 1 মাস 1 দিন থেকে মিলিসেকেন্ড সংখ্যা) |
শব্দকে সংখ্যা রূপান্তর
সার্বজনীন মথড Number()
শব্দকে সংখ্যা রূপান্তর করা যায়
সংখ্যা ধারণকারী শব্দ (যেমন "3.14") সংখ্যা (যেমন 3.14) রূপান্তরিত হয়
খালি শব্দ 0-এ রূপান্তরিত হয়
অন্যান্য শব্দকে এনএনএন
(Not a number,not a number)。
Number("3.14") // ফলাফল 3.14 Number(" ") // ফলাফল 0 Number("") // ফলাফল 0 Number("99 88") // ফলাফল NaN
একটিসংখ্যা পদ্ধতিএই চাপটিতে, আপনি একটি শব্দকে সংখ্যা রূপান্তর করা যায় এমন আরও কিছু পদ্ধতি পাবেন:
পদ্ধতি | বর্ণনা |
---|---|
parseFloat() | শব্দকে বিশ্লেষণ করে সংখ্যা ফিরিয়ে দেয়। |
parseInt() | শব্দকে বিশ্লেষণ করে সংখ্যা ফিরিয়ে দেয়। |
একবিংশ + অপারেটর
একবিংশ অপারেটর +
অপারেটরএটি ব্যবহার করে বদলে করা যায় একটি সংখ্যা
প্রয়োগ
var y = "5"; // y হল একটি শব্দ var x = + y; // x হল একটি সংখ্যা
যদি বদলে করা যায় না, তবে এটি একটি সংখ্যা হয়, কিন্তু মান এনএনএন
(Not a number):
প্রয়োগ
var y = "Bill"; // y হল একটি শব্দ var x = + y; // x হল সংখ্যা (NaN)
বলীয়াতকে সংখ্যা ট্রান্সফরম
সার্বজনীন মথড Number()
আরও, বলীয়াতকে সংখ্যা ট্রান্সফরম করা যায়。
Number(false) // ফলাফল 0 Number(true) // ফলাফল 1
তারিখকে সংখ্যা ট্রান্সফরম
সার্বজনীন মথড Number()
যার মাধ্যমে তারিখকে সংখ্যা ট্রান্সফরম করা যায়。
d = new Date(); Number(d)
তারিখ মথড getTime()
একইভাবে。
d = new Date(); d.getTime()
স্বয়ংক্রিয় টাইপ ট্রান্সফরম
যদি JavaScript একটি "ভুল" ডাটা টাইপ অপারেশন করা চায়, তবে তা বাস্তব টাইপে ট্রান্সফরম করা চায়。
ফলাফল আপনার আশা অনুযায়ী হতে পারে না:
5 + null // ফলাফল 5 কারণ null ট্রান্সফরম হয় 0 "5" + null // ফলাফল "5null" কারণ null ট্রান্সফরম হয় "null" "5" + 2 // ফলাফল 52 কারণ 2 ট্রান্সফরম হয় "2" "5" - 2 // ফলাফল 3 কারণ "5" ট্রান্সফরম হয় 5 "5" * "2" // ফলাফল 10 কারণ "5" এবং "2" ট্রান্সফরম হয় 5 এবং 2
স্বয়ংক্রিয় স্ট্রিং ট্রান্সফরম
JavaScript স্বয়ংক্রিয়ভাবে ভেক্টরের toString()
ফাংশন, যখন আপনি "আউটপুট" করা চান একটি অবজেক্ট বা ভেক্টর:
document.getElementById("demo").innerHTML = myVar; // যদি myVar = {name:"Fjohn"} // toString ট্রান্সফরম হয় "[object Object]" // যদি myVar = [1,2,3,4] // toString ট্রান্সফরম হয় "1,2,3,4" // যদি myVar = new Date() // toString ট্রান্সফরম হয় ""
সংখ্যা এবং বলীয়াতও ট্রান্সফরম করা হয়, কিন্তু তা স্পষ্ট নয়:
// যদি myVar = 123 // toString ট্রান্সফরম হয় "123" // যদি myVar = true // toString ট্রান্সফরম হয় "true" // যদি myVar = false // toString ট্রান্সফরম হয় "false"
জেভাস্ক্রিপ্ট টাইপ ট্রান্সফর্ম টেবিল
এই টেবিলে, বিভিন্ন জেভাস্ক্রিপ্ট মান নম্বর, স্ট্রিং এবং বলিউয়েল ট্রান্সফর্মের ফলাফল তুলে ধরা হলো:
মৌলিক মান | নম্বর ট্রান্সফর্ম | স্ট্রিং ট্রান্সফর্ম | লজিক্যাল ট্রান্সফর্ম | চেষ্টা করুন |
---|---|---|---|---|
ফ্যালস | ০ | "ফ্যালস" | ফ্যালস | চেষ্টা করুন |
ট্রু | ১ | "ট্রু" | ট্রু | চেষ্টা করুন |
০ | ০ | "০" | ফ্যালস | চেষ্টা করুন |
১ | ১ | "১" | ট্রু | চেষ্টা করুন |
"০" | ০ | "০" | ট্রু |
চেষ্টা করুন |
"000" | ০ | "000" | ট্রু |
চেষ্টা করুন |
"১" | ১ | "১" | ট্রু | চেষ্টা করুন |
এনএনএন | এনএনএন | "এনএনএন" | ফ্যালস | চেষ্টা করুন |
ইনফিনিটি | ইনফিনিটি | "ইনফিনিটি" | ট্রু | চেষ্টা করুন |
-ইনফিনিটি | -ইনফিনিটি | "-ইনফিনিটি" | ট্রু | চেষ্টা করুন |
"" | ০ |
"" | ফ্যালস |
চেষ্টা করুন |
"২০" | ২০ | "২০" | ট্রু | চেষ্টা করুন |
"বিশ" | এনএনএন | "বিশ" | ট্রু | চেষ্টা করুন |
[ ] | ০ |
"" | ট্রু | চেষ্টা করুন |
[২০] | ২০ |
"২০" | ট্রু | চেষ্টা করুন |
[১০,২০] | এনএনএন | "১০,২০" | ট্রু | চেষ্টা করুন |
["বিশ"] | এনএনএন | "বিশ" | ট্রু | চেষ্টা করুন |
["দশ","বিশ"] | এনএনএন | "দশ,বিশ" | ট্রু | চেষ্টা করুন |
ফাংশন(){} | এনএনএন | "ফাংশন(){}" | ট্রু | চেষ্টা করুন |
{ } | এনএনএন | "[অবজেক্ট অবজেক্ট]" | ট্রু | চেষ্টা করুন |
নাল | ০ |
"নাল" | ফ্যালস | চেষ্টা করুন |
ইউনডিফাইনেড | এনএনএন | "ইউনডিফাইনেড" | ফ্যালস | চেষ্টা করুন |
যোগশিল্পের মানা একটি স্ট্রিং মানা
লাল মানাকিছু প্রোগ্রামার যেমন আশা করতে পারেন না মানা হয়নি মানা
- পূর্ববর্তী পৃষ্ঠা জেএস typeof
- পরবর্তী পৃষ্ঠা জেএস ডিসট্রাকচার