জেভাস্ক্রিপ্ট ES5
- পূর্ববর্তী পৃষ্ঠা JS সংস্করণ
- পরবর্তী পৃষ্ঠা JS 2015 (ES6)
ইসক্রিপ্ট ৫ কি? (ECMAScript 5 is what?)
ECMAScript 5ও "ES5" এবং "ECMAScript 2009" নামেও পরিচিত।
এই চ্যাপ্টারটি ES5-এর সবচেয়ে গুরুত্বপূর্ণ বৈশিষ্ট্যগুলির উপস্থাপনা করে。
ECMAScript 5 বৈশিষ্ট্য
এইসব নতুন বৈশিষ্ট্যগুলি ২০০৯ সালে প্রকাশিত হয়েছে:
- "use strict" সূচক
- String.trim()
- Array.isArray()
- Array.forEach()
- Array.map()
- Array.filter()
- Array.reduce()
- Array.reduceRight()
- Array.every()
- Array.some()
- Array.indexOf()
- Array.lastIndexOf()
- JSON.parse()
- JSON.stringify()
- Date.now()
- প্রকৃতি গ্রহণকারী এবং সেটকারী
- নতুন অবজেক্ট প্রকৃতি এবং পদ্ধতি
ECMAScript 5 বিন্যাস
- শব্দচিহ্নের সমষ্টি প্রত্যাক্রম
- সমষ্টি ও অবজেক্ট লিস্টিংয়ের পরবর্তী কমা সংযোজক
- বহুলভাবে ব্যবহৃত শব্দচিহ্নগুলি
- সংরক্ষিত বৈশিষ্ট্য নাম
"use strict" সূচক
"use strict
" নির্দিষ্ট করা হয়েছে যে জেভাস্ক্রিপ্ট কোডটি "সংকীর্ণ মোড"-এ কার্যকর হবে。
যেমন, use strict মোডের মধ্যে, অবশ্যই বলতে হবে যে অবজেক্টগুলি বিশেষভাবে নির্দিষ্ট করা হয়েছেনা।
আপনি সকল প্রোগ্রামে সংকীর্ণ মোড ব্যবহার করতে পারেন।এটি আপনাকে স্পষ্ট কোড লিখতে সাহায্য করতে পারে, যেমন আপনাকে অবশ্যই বলতে হবে যে অবজেক্টগুলি বিশেষভাবে নির্দিষ্ট করা হয়েছেনা।
"use strict
”এটি শুধুমাত্র একটি শব্দচিহ্ন হল।পুরানো ব্রাউজারগুলি যদি তাদের বোঝতে পারে না, তবে তারা ত্রুটি ফেলবে না。
পড়ুন JS সংকীর্ণ মোড আরও বিস্তারিত তথ্য পড়ুন。
String.trim()
String.trim()
শব্দটির দুই প্রান্তের শূন্যস্থান তুলে নেয়।
ইনস্ট্যান্স
var str = " Hello World! "; alert(str.trim());
অনুরোধ করা হয়, JS স্ট্রিং মেথড আরও বিস্তারিত তথ্য পড়ুন。
Array.isArray()
isArray()
এই পদ্ধতিটি একটি অবজেক্টকে সমষ্টি না হলে কি তা নির্ধারণ করে。
ইনস্ট্যান্স
function myFunction() { var fruits = ["Banana", "Orange", "Apple", "Mango"]; var x = document.getElementById("demo"); x.innerHTML = Array.isArray(fruits); }
অনুরোধ করা হয়, JS সমষ্টি আরও বিস্তারিত তথ্য পড়ুন。
Array.forEach()
forEach()
এই পদ্ধতিটি প্রত্যেক সমষ্টি উপাদানের জন্য একবার ফাংশন বিন্যস্ত করে。
ইনস্ট্যান্স
var txt = ""; var numbers = [45, 4, 9, 16, 25]; numbers.forEach(myFunction); function myFunction(value) { txt = txt + value + "<br>"; }
অনুরোধ করা হয়, JS এর একটি অ্যারে পর্যায়ক্রমিক পদ্ধতি এখানে আরও শিখুন。
Array.map()
এই উদাহরণটি প্রত্যেক সমষ্টির মান দ্বিগুণ করে:
ইনস্ট্যান্স
var numbers1 = [45, 4, 9, 16, 25]; var numbers2 = numbers1.map(myFunction); function myFunction(value) { return value * 2; }
অনুরোধ করা হয়, JS এর একটি অ্যারে পর্যায়ক্রমিক পদ্ধতি এখানে আরও শিখুন。
Array.filter()
এই উদাহরণটি ১৮ বছরের বেশি বয়সী তথ্য হোল্ডার একটি নতুন সমষ্টি তৈরি করে:
ইনস্ট্যান্স
var numbers = [45, 4, 9, 16, 25]; var over18 = numbers.filter(myFunction); function myFunction(value) { return value > 18; }
অনুরোধ করা হয়, JS এর একটি অ্যারে পর্যায়ক্রমিক পদ্ধতি এখানে আরও শিখুন。
Array.reduce()
এই উদাহরণটি একটি সমস্ত সংখ্যার সমগ্র সমষ্টি নির্ধারণ করে:
ইনস্ট্যান্স
var numbers1 = [45, 4, 9, 16, 25]; var sum = numbers1.reduce(myFunction); function myFunction(total, value) { return total + value; }
অনুরোধ করা হয়, JS এর একটি অ্যারে পর্যায়ক্রমিক পদ্ধতি এখানে আরও শিখুন。
Array.reduceRight()
এই উদাহরণটিতেও অ্যারেতে সমস্ত সংখ্যার মোট পরিমাণ নির্ধারণ করা হয়:
ইনস্ট্যান্স
var numbers1 = [45, 4, 9, 16, 25]; var sum = numbers1.reduceRight(myFunction); function myFunction(total, value) { return total + value; }
অনুরোধ করা হয়, JS এর একটি অ্যারে পর্যায়ক্রমিক পদ্ধতি এখানে আরও শিখুন。
Array.every()
এই উদাহরণটি সব মূল্য 18-এর ঊর্ধ্বে রয়েছে কি না তা পরীক্ষা করে:
ইনস্ট্যান্স
var numbers = [45, 4, 9, 16, 25]; var allOver18 = numbers.every(myFunction); function myFunction(value) { return value > 18; }
অনুরোধ করা হয়, JS এর একটি অ্যারে পর্যায়ক্রমিক পদ্ধতি এখানে আরও শিখুন。
Array.some()
এই উদাহরণটি কিছু মূল্য কি 18-এর ঊর্ধ্বে রয়েছে কিনা তা পরীক্ষা করে:
ইনস্ট্যান্স
var numbers = [45, 4, 9, 16, 25]; var allOver18 = numbers.some(myFunction); function myFunction(value) { return value > 18; }
অনুরোধ করা হয়, JS এর একটি অ্যারে পর্যায়ক্রমিক পদ্ধতি এখানে আরও শিখুন。
Array.indexOf()
অ্যারেতে কোনও ইলাকা মূল্য সনাক্ত করে তার অবস্থান ফিরিয়ে দেয়:
ইনস্ট্যান্স
var fruits = ["Banana", "Orange", "Apple", "Mango"]; var a = fruits.indexOf("Apple");
অনুরোধ করা হয়, JS এর একটি অ্যারে পর্যায়ক্রমিক পদ্ধতিএখানে আরও শিখুন。
Array.lastIndexOf()
Array.lastIndexOf()
সঙ্গে Array.indexOf()
এর মতোই, কিন্তু অ্যারের শেষ থেকে অনুসন্ধান করা হয়。
ইনস্ট্যান্স
var fruits = ["Banana", "Orange", "Apple", "Mango"]; var a = fruits.lastIndexOf("Apple");
অনুরোধ করা হয়, JS এর একটি অ্যারে পর্যায়ক্রমিক পদ্ধতি এখানে আরও শিখুন。
JSON.parse()
JSON-এর একটি সাধারণ ব্যবহার হল ওয়েব সার্ভার থেকে ডাটা পেয়েছেন。
চিন্তা করুন, আপনি ওয়েব সার্ভার থেকে এই টেক্সট স্ট্রিং পেয়েছেন:
'{"name":"Bill", "age":62, "city":"Seatle"}'
JavaScript ফাংশন JSON.parse()
এটা টেক্সটকে JavaScript অবজেক্টে রূপান্তরিত করার জন্য ব্যবহৃত হয়:
var obj = JSON.parse('{"name":"Bill", "age":62, "city":"Seatle"}');
আমাদের JSON শিক্ষাক্রম এখানে আরও শিখুন。
JSON.stringify()
JSON-এর একটি সাধারণ ব্যবহার হল ডাটা সার্ভারে পাঠানো。
ডাটা সার্ভার তে পাঠানোর সময়, ডাটা স্ট্রিং হতেই হবে。
চিন্তা করুন, আমরা JavaScript-তে এই অবজেক্টটি আছি:
var obj = {"name":"Bill", "age":62, "city":"Seatle"};
এটা স্ট্রিং হিসাবে রূপান্তরিত করতে JSON.stringify() জাভাস্ক্রিপ্ট ফাংশন ব্যবহার করুন。
var myJSON = JSON.stringify(obj);
ফলাফল হবে JSON প্রদর্শন পদ্ধতি অনুযায়ী একটি স্ট্রিং。
myJSON এখন একটি স্ট্রিং হয়েছে, সার্ভারে পাঠানোর জন্য প্রস্তুত:
ইনস্ট্যান্স
var obj = {"name":"Bill", "age":62, "city":"Seatle"}; var myJSON = JSON.stringify(obj); document.getElementById("demo").innerHTML = myJSON;
আমাদের JSON শিক্ষাক্রম এখানে আরও শিখুন。
Date.now()
Date.now() পদ্ধতি তারিখকে ১৯৭০ সালের ১ জানুয়ারী ০০:০০:০০:০০ থেকে পরবর্তী মিলিসেকেন্ডগুলির সংখ্যা ফিরিয়ে দেয়。
ইনস্ট্যান্স
var timInMSs = Date.now();
Date.now()
এবং Date অবজেক্টের উপর getTime() পদ্ধতির ফলাফলগুলির সমান
অনুরোধ করা হয়, জেএস তারিখ আরও বিষয়বস্তু জানতে পড়ানোর জন্য
প্রকৃতি গ্রহণকারী এবং সেটকারী
ES5-এর মাধ্যমে আপনি প্রকৃতির গ্রহণ এবং/অথবা সেট পদ্ধতির মতো সংজ্ঞায়িত করতে পারেন অবজেক্ট পদ্ধতি。
এই উদাহরণটি নামকৃত fullName প্রকৃতির জন্য একটি getter:
ইনস্ট্যান্স
// បង្កើតវត្ថុ: var person = { firstName: "Bill", lastName : "Gates", get fullName() { return this.firstName + " " + this.lastName; } }); // getter-এর মাধ্যমে অবজেক্ট থেকে তথ্য দেখানো: document.getElementById("demo").innerHTML = person.fullName;
এই উদাহরণটি ভাষা প্রকৃতির জন্য একটি setter এবং getter:
ইনস্ট্যান্স
var person = { firstName: "Bill", lastName : "Gates", language : "NO", get lang() { return this.language; }, set lang(value) { this.language = value; } }); // setter-এর মাধ্যমে অবজেক্ট প্রকৃতির প্রকৃতি সেট করা: person.lang = "en"; // getter-এর মাধ্যমে অবজেক্ট থেকে তথ্য দেখানো: document.getElementById("demo").innerHTML = person.lang;
এই উদাহরণটি setter-এর মাধ্যমে ভাষার বড় অক্ষর তৈরির নিশ্চয়তা করে:
ইনস্ট্যান্স
var person = { firstName: "Bill", lastName : "Gates", language : "NO", set lang(value) { this.language = value.toUpperCase(); } }); // setter-এর মাধ্যমে অবজেক্ট প্রকৃতির প্রকৃতি সেট করা: person.lang = "en"; // অবজেক্ট থেকে তথ্য দেখানোর জন্য: document.getElementById("demo").innerHTML = person.language;
অনুরোধ করা হয়, জেএস অবজেক্ট এক্সেসর আরও বিষয়বস্তু জানতে মধ্যবর্তী পড়ানোর জন্য
নতুন অবজেক্ট প্রকৃতি এবং পদ্ধতি
Object.defineProperty()
এস5-এর একটি নতুন অবজেক্ট পদ্ধতি。
এটি আপনাকে অবজেক্ট প্রকৃতির একটি প্রকৃতি এবং/অথবা একটি প্রকৃতির মান এবং/অথবা মেটাডাটা পরিবর্তন করার অনুমতি দেয়。
ইনস্ট্যান্স
// បង្កើតវត្ថុ: var person = { firstName: "Bill", lastName : "Gates", language : "NO", }); // កែប្រែអត្តសញ្ញាណ: Object.defineProperty(person, "language", { value: "EN", writable : true, enumerable : true, configurable : true }); // រាប់អត្តសញ្ញាណ var txt = ""; for (var x in person) { txt += person[x] + "<br>"; } document.getElementById("demo").innerHTML = txt;
ជាក់ស្តែងនេះ គឺដូចលើកមុន ប៉ុន្តែវាលាក់អត្តសញ្ញាណ language នៅក្នុងការរាប់តាម
ইনস্ট্যান্স
// បង្កើតវត្ថុ: var person = { firstName: "Bill", lastName : "Gates", language : "NO", }); // កែប្រែអត្តសញ្ញាណ: Object.defineProperty(person, "language", { value: "EN", writable : true, enumerable : false, configurable : true }); // រាប់អត្តសញ្ញាណ var txt = ""; for (var x in person) { txt += person[x] + "<br>"; } document.getElementById("demo").innerHTML = txt;
នៅតែបញ្ជាក់ពី setter និង getter ដើម្បីធានាការធ្វើ uppercase អោយ language:
ইনস্ট্যান্স
// បង្កើតវត្ថុ: var person = { firstName: "Bill", lastName : "Gates", language : "NO" }); // កែប្រែអត្តសញ្ញាណ: Object.defineProperty(person, "language", { get : function() { return language }, set : function(value) { language = value.toUpperCase()} }); // កែប្រែភាសា person.language = "en"; // បង្ហាញភាសា document.getElementById("demo").innerHTML = person.language;
មុខងារថ្មីរបស់ ES5
ECMAScript 5 បានបន្ថែមអំពីមុខងារថ្មីដល់ JavaScript:
// បន្ថែមឬក៏កែប្រែអត្តសញ្ញាណ Object.defineProperty(object, property, descriptor) // បន្ថែមឬក៏កែប្រែអត្តសញ្ញាណជាច្រើន Object.defineProperties(object, descriptors) // ចូលទៅលើអត្តសញ្ញាណ Object.getOwnPropertyDescriptor(object, property) // បញ្ចូលអត្តសញ្ញាណទាំងអស់ជាក្រុមរឿង Object.getOwnPropertyNames(object) // បញ្ចូលអត្តសញ្ញាណដែលអាចរាប់តាមជាក្រុមរឿង Object.keys(object) // ចូលទៅលើគោលដៅ Object.getPrototypeOf(object) // অবজেক্টে প্রতিমান যোগ করা না হবে Object.preventExtensions(object) // যদি অবজেক্টে প্রতিমান যোগ করা যায়, তবে true ফিরিয়ে দেয় Object.isExtensible(object) // অবজেক্টের প্রতিমানকে পরিবর্তন করা না হবে Object.seal(object) // যদি অবজেক্ট সিল হয়, তবে true ফিরিয়ে দেয় Object.isSealed(object) // অবজেক্টকে কোনও পরিবর্তন করা না হবে Object.freeze(object) // যদি অবজেক্ট ফ্রোজেন হয়, তবে true ফিরিয়ে দেয় Object.isFrozen(object)
অনুরোধ করা হয়, অবজেক্ট ECMAScript5 এখানে আরও শিখুন。
স্ট্রিং-এর প্রতিমান ব্যবহার
charAt()
মেথড স্ট্রিং-এর নির্দিষ্ট সিকিউয়েন্সের চরিত্র ফিরিয়ে দেয়:
ইনস্ট্যান্স
var str = "HELLO WORLD"; str.charAt(0); // ফলাফল H
ECMAScript 5-এর মাধ্যমে স্ট্রিং-এর প্রতিমান ব্যবহার করা হয়:
ইনস্ট্যান্স
var str = "HELLO WORLD"; str[0]; // ফলাফল H
স্ট্রিং-এর প্রতিমান ব্যবহার হতে পারে অস্থায়ী:
অনুরোধ করা হয়, JS স্ট্রিং মেথড এখানে আরও শিখুন。
পরবর্তী কমা (Trailing Commas)
ECMAScript 5-এর মাধ্যমে অবজেক্ট এবং আইসকেইম নির্ধারণের সময় পরবর্তী কমা ব্যবহার করা হয়:
Object ইনস্ট্যান্স
person = { firstName: "Bill", lastName: " Gates", age: 62, }
Array ইনস্ট্যান্স
points = [ 1, 5, 10, 25, 40, 100, ];
সতর্কতা !! !!
Internet Explorer 8 ভেঙে যাবে。
JSON-এ পরবর্তী কমা ব্যবহার করা না হবে。
JSON অবজেক্ট:
// অনুমত্তা: var person = '{"firstName":"Bill", "lastName":"Gates", "age":62}' JSON.parse(person) // নিষিদ্ধ: var person = '{"firstName":"Bill", "lastName":"Gates", "age":62,}' JSON.parse(person)
JSON আইসকেইম:
// অনুমত্তা: points = [40, 100, 1, 5, 25, 10] // নিষিদ্ধ: points = [40, 100, 1, 5, 25, 10,]
বহুলতর স্ট্রিং
যদি এসকেও এসকেও ইস্কেপ করা হয়, ECMAScript 5-এর মাধ্যমে বহুলতর স্ট্রিং লিটারালসমূহকে রাখা যেতে পারে:
ইনস্ট্যান্স
"Hello \ Kitty!";
এসকেও মথডসকে সাধারণভাবে সমর্থন করা হয়নি
কিছু পুরানো ব্রাউজারগুলো এসকেও এসকেও স্পেসকে বিভিন্নভাবে প্রক্রিয়াকরণ করতে পারে
কিছু পুরানো ব্রাউজারগুলো এসকেও পরিবর্তনকারী সাইন পরের স্পেস না স্বীকৃত করে
স্ট্রিং লিটারালসমূহকে বিভক্ত একটি নিরাপদ পদ্ধতি হিসাবে স্ট্রিং অ্যাডডশন ব্যবহার করা যেতে পারে:
ইনস্ট্যান্স
"Hello " + "Kitty!";
রিজার্ভড কোয়ার্ডলস হিসাবে অপার্টারি নাম
ECMAScript 5-এর মাধ্যমে রিজার্ভড কোয়ার্ডলস প্রতিশব্দ হিসাবে অপার্টারি নাম রাখা যেতে পারে:
অবজেক্ট ইনস্ট্যান্স
var obj = {name: "Bill", new: "yes"}
ES5 (ECMAScript 5) ব্রাউজার সমর্থন
চ্রোম ২৩, আইই ১০ এবং স্যাফারি ৬ প্রথমটি এসসিএমএস ৫ সম্পূর্ণভাবে সমর্থনকারী ব্রাউজারগুলো
চ্রোম ২৩ | আইই ১০ / এডজ | ফায়ারফক্স ২১ | স্যাফারি ৬ | ওপেরা ১৫ |
2012 সাল ৯ মাস | 2012 সাল ৯ মাস | 2013 সাল ৪ মাস | 2012 সাল ৭ মাস | 2013 সাল ৭ মাস |
- পূর্ববর্তী পৃষ্ঠা JS সংস্করণ
- পরবর্তী পৃষ্ঠা JS 2015 (ES6)