আদনান নাহিদ
সরকারি তিতুমীর কলেজ
নাম্বার থেকে নাম্বারে পরিবর্তন, স্ট্রিং থেকে স্ট্রিং এ পরিবর্তন, বুলিয়ান থেকে বুলিয়ানে পরিবর্তন করা যায় ।
জাভাস্ক্রিপ্ট ডেটা প্রকারভেদ
মান ধারণ করতে পারে জাভাস্ক্রিপ্টে এমন 5 ধরনের ডাটা টাইপ আছে:
- স্ট্রিং
- নাম্বার
- বুলিয়ান
- অবজেক্ট
- ফাংশন
অবজেক্ট ৩ ধরনের হয়:
- অবজেক্ট
- তারিখ
- অ্যারে বা শ্রেণীবিন্যাস
এবং ২ ধরনের ডাটা টাইপের মান থাকতে পারে না :
- অকার্যকর
- অনির্দিষ্ট
typeof অপারেটর
একটি পরিবর্তনশীল জাভাস্ক্রিপ্ট এ ডাটা টাইপ খুঁজে পেতে অাপনি typeof অপারেটর ব্যবহার করতে পারেন ।
উদাহরণ
typeof "John" // Returns string typeof 3.14 // Returns number typeof NaN // Returns number typeof false // Returns boolean typeof [1,2,3,4] // Returns object typeof {name:'John', age:34} // Returns object typeof new Date() // Returns object typeof function () {} // Returns function typeof myCar // Returns undefined (if myCar is not declared) typeof null // Returns object
লক্ষ্য করুন :
- NaN নাম্বারের ডাটা টাইপ
- অ্যারের অবজেক্টের ডাটা টাইপ
- তারিখের অবজেক্টের ডাটা টাইপ
- Null অবজেক্টের ডাটা টাইপ
- একটি অনির্ধারিত পরিবর্তনশীল এর ডাটা টাইপ
যদি জাভাস্ক্রিপ্ট অবজেক্ট অ্যারে (অথবা তারিখ) হয় তাহলে আপনি অর্থ বা সীমা নির্ধারণ করার ক্ষেত্রে typeof ব্যবহার করতে পারবেন না ।
Typeof ডাটা টাইপ
typeof অপারেটর পরিবর্তনশীল নয়। এটি একটি অপারেটর। অপারেটর (+ + - * /) এর কোন ডাটা টাইপ থাকে না ।
কিন্তু, typeof অপারেটর সবসময় একটি স্ট্রিং প্রদান করে operand এর সময় ।
কনস্টাকশন প্রপারটি
সব জাভাস্ক্রিপ্টের জন্যই constructor property, constructor function প্রদান করে ।
উদাহরণ
"John".constructor // Returns function String() { [native code] } (3.14).constructor // Returns function Number() { [native code] } false.constructor // Returns function Boolean() { [native code] } [1,2,3,4].constructor // Returns function Array() { [native code] } {name:'John', age:34}.constructor // Returns function Object() { [native code] } new Date().constructor // Returns function Date() { [native code] } function () {}.constructor // Returns function Function() { [native code] }
আপনি কনস্টাকশন প্রপারটি খুঁজে দেখতে পারেন এর কোন অবজেক্ট অ্যারে আছে কিনা (contains the word "Array") :
উদাহরণ
function isArray(myArray) { return myArray.constructor.toString().indexOf("Array") > -1; }
আপনি কনস্টাকশন প্রপারটি খুঁজে দেখতে পারেন এর কোন অবজেক্ট তারিখ কিনা (contains the word "Date") :
উদাহরণ
function isDate(myDate) { return myDate.constructor.toString().indexOf("Date") > -1; }
জাভাস্ক্রিপ্ট টাইপ রূপান্তরকরণ
জাভাস্ক্রিপ্ট ভেরিয়েবল নতুন একটি ভেরিয়েবলে এবং অন্য ডাটা টাইপে রূপান্তরিত করা যেতে পারে:
- জাভাস্ক্রিপ্ট ফাংশন ব্যবহার করে
- জাভাস্ক্রিপ্টের মাধ্যমে স্বয়ংক্রিয়ভাবে
নাম্বারকে স্ট্রিং এ রূপান্তর
গ্লোবাল পদ্ধতি String() দিয়ে সংখ্যাকে স্ট্রিং এ রূপান্তর করতে পারে ।
এটি যেকোনো ধরনের সংখ্যায় , লিটারেল, ভেরিয়েবল বা এক্সপ্রেশন এ ব্যবহার করা যায় :
উদাহরণ
String(x) // returns a string from a number variable x String(123) // returns a string from a number literal 123 String(100 + 23) // returns a string from a number from an expression
সংখ্যা পদ্ধতি toString() ও একই ধরনের কাজ করে ।
উদাহরণ
x.toString() (123).toString() (100 + 23).toString()
আপনি (নাম্বার পদ্ধতি) অ্ধ্যায়ে সংখ্যাকে স্ট্রিং এ রূপান্তর করার আরো অনেক মেথড খুজে পাবেন :
পদ্ধতি | বর্ণনা |
toExponential() | ব্যাখ্যামূলক একটি সংখ্যার সাথে সূচক নোটেশন ব্যবহার করে স্ট্রিং ফেরৎ পাওয়া |
toFixed() | স্থায়ী একটি নিদিষ্ট সংখ্যার সাথে দশমিক সংখ্যা ব্যবহার করে স্ট্রিং ফেরৎ পাওয়া |
toPrecision() | স্পষ্টতা একটি নিদিষ্ট দৈর্ঘ্যর সাথে একটি সংখ্যা ব্যবহার করে স্ট্রিং ফেরৎ পাওয়া |
Booleans থেকে স্ট্রিং এ রূপান্তর
গ্লোবাল পদ্ধতি String(), Booleans কে স্ট্রিং এ রূপান্তর করতে পারে :
উদাহরণ
String(false) // returns "false" String(true) // returns "true"
বুলিয়ান পদ্ধতি toString() ও একই ধরনের কাজ করে ।
false.toString() // returns "false" true.toString() // returns "true"
তারিখকে স্ট্রিং এ রূপান্তর
গ্লোবাল পদ্ধতি String() দিয়ে তারিখকে স্ট্রিং এ রূপান্তর করতে পারে :
String(Date()) // returns Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)
তারিখের পদ্ধতি toString() ও একই ধরনের কাজ করে ।
উদাহরণ
Date().toString() // returns Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)
আপনি (ডেট মেথড) অ্ধ্যায়ে সংখ্যাকে স্ট্রিং এ রূপান্তর করার আরো অনেক মেথড খুজে পাবেন :
মেথড | বর্ণনা |
getDate() | তারিখকে সংখ্যা হিসেবে গ্রহণ করে (1-31) |
getDay() | সপ্তাহকে সংখ্যা হিসেবে গ্রহণ করে (0-6) |
getFullYear() | বছরের চারটি অঙ্ক গ্রহণ করে (YYYY) |
getHours() | ঘন্টাকে গ্রহণ করে (0-23) |
getMilliseconds() | মিলি সেকেন্ড কে গ্রহণ করে (0-999) |
getMinutes() | মিনিটকে গ্রহণ করে (0-59) |
getMonth() | মাসকে গ্রহণ করে (0-11) |
getSeconds() | সেকেন্ড কে গ্রহণ করে (0-59) |
getTime() | সময়কে গ্রহণ করে (মিলিসেকেন্ড জানুয়ারী 1st 1970 থেকে) |
স্ট্রিং কে সংখ্যায় রূপান্তর
গ্লোবাল পদ্ধতি Number() দিয়ে স্ট্রিংকে সংখ্যায় রূপান্তর করতে পারেন ।
স্ট্রিং নম্বর ধারণকারী ("3.14" ) কে (3.14 ) এ রূপান্তর ।
খালি স্ট্রিং কে 0 তে রূপান্তর ।
অন্যানগৈুলোকে NaN (নম্বর নয়) এ পরিবর্তন ।
Number("3.14") // returns 3.14 Number(" ") // returns 0 Number("") // returns 0 Number("99 88") // returns NaN
আপনি (নাম্বর মেথড) অ্ধ্যায়ে স্ট্রিং কে সংখ্যায় রূপান্তর করার আরো অনেক মেথড খুজে পাবেন :
পদ্ধতি | বর্ণনা |
parseFloat | একটি স্ট্রিং পার্স করুন এবং একটি ফ্লোটিং পয়েন্ট সংখ্যা ফেরৎ পান |
parseInt | একটি স্ট্রিং পার্স করুন এবং একটি পূর্ণসংখ্যা ফেরৎ পান |
ইউনারী + অপারেটর
একটি ভেরিয়েবল (পরিবর্তনশীল নাম্বার) কে সংখ্যায় রূপান্তরের ক্ষেত্রে ইউনারী + অপারেটর ব্যবহার করা যেতে পারে :
উদাহরণ
var y = "5"; // y is a string var x = + y; // x is a number
যদি variable কে রূপান্তরিত করা না যায় তাহলে এটি সংখ্যাই থাকে যার মান হয় NaN (নম্বর নয়):
উদাহরণ
var y = "John"; // y is a string var x = + y; // x is a number (NaN)
Booleans কে নাম্বার এ রূপান্তর
গ্লোবাল পদ্ধতি Number() দিয়ে Booleans কে নাম্বারে রূপান্তর করতে পারেন :
Number(false) // returns 0 Number(true) // returns 1
তারিখ কে নাম্বারে রূপান্তর
গ্লোবাল পদ্ধতি Number() দিয়ে তারিখকে নাম্বারে রূপান্তর করতে পারেন :
d = new Date(); Number(d) // returns 1404568027739
তারিখের পদ্ধতি toString() ও একই ধরনের কাজ করে ।
d = new Date(); d.getTime() // returns 1404568027739
স্বয়ংক্রিয় রূপান্তর
যখন জাভাস্ক্রিপ্ট একটি "ভুল" ডাটা টাইপ নিয়ে কাজ করার চেষ্টা করে, এটি মানকে "সঠিক" ডাটা টাইপে রূপান্তর করতে চেষ্টা করে।
ফলাফল সবসময় আপনার আশানরূপ হয় না:
5 + null // returns 5 because null is converted to 0 "5" + null // returns "5null" because null is converted to "null" "5" + 2 // returns 52 because 2 is converted to "2" "5" - 2 // returns 3 because "5" is converted to 5 "5" * "2" // returns 10 because "5" and "2" are converted to 5 and 2
স্বয়ংক্রিয় স্ট্রিং রূপান্তর
জাভাস্ক্রিপ্ট স্বয়ংক্রিয়ভাবেই ভেরিয়েবল এর toString ফাংশনকে কল করে যখন অবজেক্ট বা ভেরিয়েবল থেকে "output" আশা করেন :
document.getElementById("demo").innerHTML = myVar; // if myVar = {name:"Fjohn"} // toString converts to "[object Object]" // if myVar = [1,2,3,4] // toString converts to "1,2,3,4" // if myVar = new Date() // toString converts to "Fri Jul 18 2014 09:08:55 GMT+0200"
সংখ্যা এবং Booleans ও রূপান্তরিত হয়, কিন্তু এবি খুব একটা দৃশ্যমান নয়:
// if myVar = 123 // toString converts to "123" // if myVar = true // toString converts to "true" // if myVar = false // toString converts to "false"
জাভাস্ক্রিপ্ট টাইপ রূপান্তর ছক
এই টেবিল বিভিন্ন প্রকার জাভাস্ক্রিপ্ট মানকে সংখ্যা, স্ট্রিং, এবং বুলিয়ান এ রূপান্তর প্রদর্শন করে :
আদি মান | সংখ্যায় রূপান্তরিত | স্ট্রিং এ রূপান্তরিত | বুলিয়ানে রূপান্তরিত |
false | 0 | "false" | false |
true | 1 | "true" | true |
0 | 0 | "0" | false |
1 | 1 | "1" | true |
"0" | 0 | "0" | true |
"1" | 1 | "1" | true |
NaN | NaN | "NaN" | false |
Infinity | Infinity | "Infinity" | true |
-Infinity | -Infinity | "-Infinity" | true |
"" | 0 | "" | false |
"20" | 20 | "20" | true |
"twenty" | NaN | "twenty" | true |
[ ] | 0 | "" | true |
[20] | 20 | "20" | true |
[10,20] | NaN | "10,20" | true |
["twenty"] | NaN | "twenty" | true |
["ten","twenty"] | NaN | "ten,twenty" | true |
function(){} | NaN | "function(){}" | true |
{ } | NaN | "[object Object]" | true |
null | 0 | "null" | false |
undefined | NaN | "undefined" | false |
নোট: কোটেশন যুক্ত মান স্ট্রিং নির্দেশ করে।
বোল্ড করা মান (কিছু) প্রোগ্রামার সমর্থন করে না।