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

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

হোম-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 গ্লোবাল-Global কনভার্শন-Conversion


 

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


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


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

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

  • string
  • number
  • boolean
  • object
  • function

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

  • Object
  • Date
  • Array

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

  • Null
  • Undefined

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><


ফলাফল



লক্ষ্য করুনঃ

  • NaN এর ডাটা টাইপ হলো number
  • array এর ডাটা টাইপ হলো object
  • date এর ডাটা টাইপ হলো object
  • null এর ডাটা টাইপ হলো object
  • একটি আনডিফাইন্ড ভ্যারিয়েবলের ডাটা টাইপ হলো  undefined*
  • ভ্যালু এসাইন করা হয়নি এমন ভ্যারিয়েবলের ডাটা টাইপ হলো  undefined*

একটি জাভাস্ক্রিপ্ট অবজেক্ট অ্যারে অথবা তারিখ কিনা যাচাই করার জন্য আপনি 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

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

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