জাভাস্ক্রিপ্ট জেকুয়েরি এঙ্গুলার জেএস এইচটিএমএল সিএসএস বুটস্ট্রাপ পিএইচপি সি প্রোগ্রামিং
লগইন
×

জেএস টিউটোরিয়াল

হোম-HOME পরিচিতি-Introduction ব্যবহার-Uses গঠনপ্রণালী-Syntax আউটপুট-Output তথ্যের ধরণ-Data Type চলক-Variable স্টেটমেন্ট-Statement মন্তব্য-Comment অপারেটর-Operator গণিত-Arithmetic এসাইনমেন্ট-Assignment ফাংশন-Function অবজেক্ট-Object স্কোপ-Scope ইভেন্ট-Event ধরণ পরিবর্তন-Type Conversion রেগুলার এক্সপ্রেশন-RegExp ভুল-Error জেসন-JSON হয়েস্টিং-Hoisting

কন্ট্রোল স্টেটমেন্ট

বুলিয়ান-Boolean তুলনা-Comparison শর্তাবলী-Condition সুইচ-Switch ফর লুপ- For Loop হোয়াইল লুপ-While Loop ব্রেক-Break এবং কন্টিনিউ-continue

স্ট্রিং এবং অ্যারে

স্ট্রিং-String স্ট্রিং পদ্ধতি-String Method অ্যারে-Array অ্যারে পদ্ধতি -Array Method অ্যারে সর্ট-ArraySort

সংখ্যা, গণিত ও তারিখ

সংখ্যা-Number সংখ্যা পদ্ধতি-Number Method গণিত-Math তারিখ-Date তারিখ বিন্যাস-Date Format তারিখ পদ্ধতি-Date Method

জেএস ফাংশন-Function

ফাংশনের সংজ্ঞা-Definition ফাংশন প্যারামিটার-Parameter ফাংশনকে ডাকা-Invocation ফাংশন ক্লোজার-Closure

জেএস অবজেক্ট-Object

অবজেক্টের সংজ্ঞা-Definition অবজেক্ট প্রোপার্টি-Property অবজেক্ট মেথড-Method অবজেক্ট প্রোটোটাইপ-Prototype

জেএস ফর্ম-Form

ফর্ম বৈধকরণ-Validation ফর্ম এপিআই-API

জেএস এইচটিএমএল ডোম-DOM

ডোম(DOM) পরিচিতি ডোম মেথড-Method ডোম ডকুমেন্ট-Document ডোম এলিমেন্ট -Element ডোম এইচটিএমএল-HTML ডোম সিএসএস-CSS ডোম অ্যানিমেশন-Animation ডোম ঘটনা-Event ডোম ইভেন্টলিসেনার-EventListener ডোম নেভিগেশন-Navigation ডোম নোড-Node ডোম নোডতালিকা-Nodelist

জেএস ব্রাউজার বোম-BOM

উইন্ডো-Window স্ক্রিন-Screen লোকেশন-Location হিস্টোরি-History নেভিগেটর-Navigator পপআপ এলার্ট-Popup Alert টাইমিং-Timing কুকি-Cookie

জেএস রেফারেন্স

জাভাস্ক্রিপ্ট অবজেক্ট এইচটিএমএল ডোম অবজেক্ট অপারেটর-Operator স্টেটমেন্ট-Statement অ্যারে-Array বুলিয়ান-Boolean স্ট্রিং-String সংখ্যা-Number রেগুলার এক্সপ্রেশন-RegExp গণিত-Math তারিখ-Date কনভার্শন-Conversion


 

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


Number() মেথড নম্বরে, String() মেথড স্ট্রিং-এ, Boolean() মেথড বুলিয়ানে রুপান্তর করে।


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

জাভাস্ক্রিপ্টে ৫ ধরনের ডাটা টাইপ রয়েছে যাদের মধ্যে ভ্যালু থাকেঃ

অবজেক্ট ৩ ধরনের হয়ঃ

এবং 2 ধরনের ডাটা টাইপ রয়েছে যাদের ভ্যালু নেইঃ


typeof অপারেটর

জাভাস্ক্রিপ্ট ভ্যারিয়েবলের ডাটা টাইপ পাওয়ার জন্য typeof অপারেটর ব্যবহার করা হয়।

উদাহরণ

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>জাভাস্ক্রিপ্ট উদাহরণ</title>
</head>
<body>

<h3> typeof   অপারেটর  দ্বারা  ভ্যারিয়েবল, অবজেক্ট, ফাংশন, অথবা এক্সপ্রেশন এর  টাইপকে  বুঝায় ।</h3>

<p id="test"></p>

<script>
document.getElementById("test").innerHTML =
    typeof "Tahmid" + "<br>" +
    typeof 3.14 + "<br>" +
    typeof NaN + "<br>" +
    typeof false + "<br>" +
    typeof new Date() + "<br>" +
    typeof function () {} + "<br>" +
    typeof newDay + "<br>" +
    typeof [1,2,3,4] + "<br>" +
    typeof {name:'আজিজুর', age:34} + "<br>" +
    typeof null;
</script>

</body>
</html><


ফলাফল



লক্ষ্য করুনঃ

একটি জাভাস্ক্রিপ্ট অবজেক্ট অ্যারে অথবা তারিখ কিনা যাচাই করার জন্য আপনি typeof অপারেটর ব্যবহার করতে পারবেন না।


typeof এর ডাটা টাইপ

typeof অপারেটর ভ্যারিয়েবল নয়। ইহা একটি অপারেটর। অপারেটরের ( + - * /) কোনো ডাটা টাইপ থাকে না।

কিন্তু, typeof অপারেটর অপারেন্ডের টাইপ ধারন করে সবসময় একটি স্ট্রিং রিটার্ন করে।


constructor প্রোপার্টি

constructor প্রোপার্টি সকল জাভাস্ক্রিপ্ট ভ্যারিয়েবলের কন্সট্রাক্টর ফাংশন রিটার্ন করে।

উদাহরণ

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>জাভাস্ক্রিপ্ট উদাহরণ</title>
</head>
<body>

<h3>ভেরিয়েভল অথবা  অবজেক্টের জন্য  কন্সট্রাক্টর প্রোপার্টি   কন্সট্রাক্টর  ফাংশনকে রির্টান করে ।  </h3>

<p id="test"></p>

<script>
document.getElementById("test").innerHTML =
    "আজিজুর".constructor + "<br>" +
    (3.14).constructor + "<br>" +
    false.constructor + "<br>" +
    [1,2,3,4].constructor + "<br>" +
    {name:'আজিজুর', age:24}.constructor + "<br>" +
    new Date().constructor + "<br>" +
    function () {}.constructor;
</script>

</body>
</html>

ফলাফল



একটি অবজেক্ট অ্যারে(তার মধ্যে "Array" শব্দটি আছে কিনা) কিনা যাচাই করার জন্য আপনি constructor প্রোপার্টি ব্যবহার করতে পারেনঃ

উদাহরণ

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>জাভাস্ক্রিপ্ট উদাহরণ</title>
</head>
<body>

<h3>এই "হোম মেথড" ফাংশনটি যখন অ্যারেতে  ব্যবহৃত হয়,তখন  true রিটার্ন করে। </h3>

<p id="test"></p>

<script>
var firstName = ["Tamim", "Tahmid", "Motiur", "Sarif"];
document.getElementById("test").innerHTML = isArray(firstName);

function isArray(x) {
    return x.constructor.toString().indexOf("Array") > -1;
}
</script>

</body>

</html>


ফলাফল



একটি অবজেক্ট Date(তার মধ্যে "Date" শব্দটি আছে কিনা) কিনা যাচাই করার জন্য আপনি constructor প্রোপার্টি ব্যবহার করতে পারেনঃ

উদাহরণ

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>জাভাস্ক্রিপ্ট উদাহরণ</title>
</head>
<body>

<h3>যখন  তারিখ  ব্যবহার করা হয় ,তখন  "home made"   ফাংশনটি  true  রির্টান করে ।</h3>

<p id="test"></p>

<script>
var currentDate = new Date();
document.getElementById("test").innerHTML = isDate(currentDate);

function isDate(currentDate) {
    return myDate.constructor.toString().indexOf("Date") > -1;
}
</script>

</body>
</html>

ফলাফল




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

জাভাস্ক্রিপ্ট ভ্যারিয়েবলকে একটি নতুন ভ্যারিয়েবল এবং অন্য ডাটা টাইপে রূপান্তরিত যায়ঃ


নম্বরকে স্ট্রিং-এ রূপান্তর

String() গ্লোবাল মেথডটি নম্বরকে স্ট্রিং-এ রূপান্তরিত করে।

এতে যেকোন ধরনের নম্বর, লিটারাল, ভ্যারিয়েবল বা এক্সপ্রেশন ব্যবহার করা যাবেঃ

উদাহরণ

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>জাভাস্ক্রিপ্ট উদাহরণ</title>
</head>
<body>

<h3> String() মেথডটি একটি  নম্বরকে স্ট্রিং-এ রূপান্তরিত করতে পারে  ।</h3>

<p id="test"></p>

<script>
var x = 192;
document.getElementById("test").innerHTML =
  String(x) + "<br>" +      // একটি নম্বর ভ্যারিয়েবল x কে স্ট্রিং আকারে রিটার্ন করে
  String(192) + "<br>" +      // একটি লিটারাল নম্বর 192 কে স্ট্রিং-এ রিটার্ন করে
  String(93 + 99);         // একটি এক্সপ্রেশনের নম্বরকে স্ট্রিং রিটার্ন করে
</script>
</body>
</html>

ফলাফল



Number মেথডের toString() একই কাজ করে।

উদাহরণ

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>জাভাস্ক্রিপ্ট উদাহরণ</title>
</head>
<body>

<h3> toString() মেথড একটি সংখ্যাকে স্ট্রিং-এ রুপান্তর করে। </h3>

<p id="test"></p>

<script>
var x = 99;
document.getElementById("test").innerHTML =
    x.toString() + "<br>" +
   (99).toString() + "<br>" +
   (90 + 9).toString();
</script>

</body>
</html>

ফলাফল



আমাদের Number মেথড পরিচ্ছেদে আরো অনেক মেথড পাবেন।


বুলিয়ানকে স্ট্রিং-এ রূপান্তর

String() গ্লোবাল মেথডটি বুলিয়ানকে স্ট্রিং-এ রুপান্তরিত করে।

String(false)        // "false" রিটার্ন করে
String(true)         // "true" রিটার্ন করে

toString() বুলিয়ান মেথডও একই কাজ করে।

false.toString()     // "false" রিটার্ন করে
true.toString()      // "true" রিটার্ন করে


তারিখকে স্ট্রিং-এ রূপান্তর

String() গ্লোবাল মেথডটি তারিখকে স্ট্রিং-এ রুপান্তর করে।

String(Date())      // Wed Mar 22 2017 16:26:40 GMT+0600 (Bangladesh Standard Time) রিটার্ন করে

toString() Date মেথডও একই কাজ করে।

Date().toString()   // Wed Mar 22 2017 16:26:40 GMT+0600 (Bangladesh Standard Time) রিটার্ন করে

আমাদের Date মেথড পরিচ্ছেদে আরো অনেক মেথড পাবেন।


স্ট্রিংকে নম্বরে রূপান্তর

Number() গ্লোবাল মেথডটি নম্বরকে স্ট্রিং-এ রুপান্তর করে।

স্ট্রিং নম্বর("3.14") নম্বরে(3.14) রুপান্তর হয়।

এম্পটি স্ট্রিং 0 তে রুপান্তরিত হয়।

অন্য সবকিছু NaN হবে।

Number("")        // 0 রিটার্ন করে
Number("99 88")   // NaN রিটার্ন করে
Number("2.54")    // 3.14 রিটার্ন করে
Number(" ")       // 0 রিটার্ন করে

আমাদের Number মেথড পরিচ্ছেদে আপনি আরো মেথড পাবেন।


ইউনারী + অপারেটর

ইউনারী + অপারেটর একটি ভ্যারিয়েবলকে নম্বরে রুপান্তর করতে ব্যবহার করা যাবেঃ

উদাহরণ

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>জাভাস্ক্রিপ্ট উদাহরণ</title>
</head>
<body>

<h3> typeof  অপারেটর দ্বারা ভ্যারিয়েবল  অথবা  এক্সপ্রেশনকে রির্টান করে । </h3>

<button onclick="myFunc()">  চেষ্টা করি </button>

<p id="test"></p>

<script>
function myFunc() {
    var b = "9";
    var a = + b;
    document.getElementById("test").innerHTML =
    typeof b + "<br>" + typeof a;
}
</script>

</body>
</html>

ফলাফল



যদি ভ্যারিয়েবলকে রুপান্তর করা না যায় তারপরও এর টাইপ number এ রুপান্তরিত হয়, যার ভ্যালু NaN হবেঃ

উদাহরণ

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>জাভাস্ক্রিপ্ট উদাহরণ</title>
</head>
<body>

<h3>typeof অপারেটর দ্বারা ভ্যারিয়েবল  অথবা  এক্সপ্রেশনকে রির্টান করে । </h3>

<button onclick="myFunc()">   চেষ্টা করি </button>

<p id="test"></p>

<script>
function myFunc() {
    var b = "Tamim";
    var a = + b;
    document.getElementById("test").innerHTML =
    typeof a + "<br>" + a;
}
</script>

</body>
</html>

ফলাফল




বুলিয়ানকে নম্বরে রূপান্তর

Number() গ্লোবাল মেথডটি বুলিয়ানকে নম্বরে রুপান্তর করে।

Number(false)     // 0 রিটার্ন করে
Number(true)      // 1 রিটার্ন করে


তারিখকে নম্বরে রূপান্তর

Number() গ্লোবাল মেথডটি তারিখকে নম্বরে রুপান্তর করেঃ

উদাহরণ

a = new Date();
Number(a)          // রিটার্ন করে 1490189529374

getTime() date মেথডও একই কাজ করে।

a = new Date();
a.getTime()        // 1490189529374 রিটার্ন করে


স্বয়ংক্রিয় টাইপ কনভার্সন

যখন জাভাস্ক্রিপ্ট একটি "ভুল" ডাটা টাইপ নিয়ে কাজ করে, তখন এটি "সঠিক" টাইপের ভ্যালুতে রূপান্তর করতে চেষ্টা করে।

ফলাফল এমন হতে পারেঃ

উদাহরণ

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>জাভাস্ক্রিপ্ট উদাহরণ</title>
</head>
<body>

<p id="test"></p>

<script>
var x = [];
document.getElementById("test").innerHTML =
("3" + 1) + "<br>" +     // 31 রিটার্ন করে,কারন 1 পরিবর্তিত হয়ে "1" হয়েছে
("3" - 1) + "<br>" +     // 2 রিটার্ন করে,কারন "3" পরিবর্তিত হয়ে 3 হয়েছে
("3" * "1") + "<br>" +   // 3 রিটার্ন করে,কারন "3" এবং "1" পরিবর্তিত হয়ে 3 এবং 1 হয়েছে
(3 + null) + "<br>"  +   // 3 রিটার্ন করে,কারন null পরিবর্তিত হয়ে 0 হয়েছে
("3" + null) + "<br>" +  // "3null" রিটার্ন করে,কারন null পরিবর্তিত হয়ে "null" হয়েছে
("3" / "1") + "<br>"
</script>

</body>
</html>

ফলাফল




স্বয়ংক্রিয় স্ট্রিং কনভার্সন

আপনি একটি অবজেক্ট অথবা ভ্যারিয়েবলের আউটপুট নিতে চাইলে জাভাস্ক্রিপ্ট স্বয়ংক্রিয়ভাবে ভ্যারিয়েবলের toString() ফাংশনকে কল করেঃ

document.getElementById("test").innerHTML = myVar;

// if myVar = {name:"Azizur"}  // toString "[object Object]" এ রুপান্তর করে
// if myVar = [1,2,3,4]       // toString "1,2,3,4" এ রুপান্তর করে
// if myVar = new Date()      // toString "Wed Mar 22 2017 19:46:30 GMT+0600" এ রুপান্তর করে

নম্বর এবং বুলিয়ানের ক্ষেত্রেও একই রকম ঘটেঃ

// if myVar = 123             // toString "123" এ রুপান্তর করে
// if myVar = true           // toString "true" এ রুপান্তর করে
// if myVar = false           // toString "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

কোটেশনের ভ্যালুগুলো স্ট্রিং ভ্যালু নির্দেশ করে।

লাল রংয়ের ভ্যালু দ্বারা বুঝানো হয়েছে প্রোগ্রামাররা এই ভ্যালু প্রত্যাশা করে না।