ECMAScript 2009
জাভাস্ক্রিপ্টের জন্য প্রথম বড় রিভিশন।
ECMAScript 2009 ES5 নামেও পরিচিত।
ES5 বৈশিষ্ট্য
| বৈশিষ্ট্য | ব্যাখ্যা |
|---|---|
| "use strict" | সংজ্ঞায়িত করে যে কোডটি "কঠোর মোডে" কার্যকর করা উচিত। |
| String [] access | একটি স্ট্রিং-এ নির্দিষ্ট সূচকে অক্ষর প্রদান করে |
| Multiline strings | \ দিয়ে পালিয়ে যাওয়া একাধিক লাইনে স্ট্রিংকে অনুমতি দেয় |
| 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 কে জাভাস্ক্রিপ্ট অবজেক্টে রূপান্তর করে |
| JSON.stringify() | JSON কে স্ট্রিং এ রূপান্তর করে |
| Date.now() | শূন্য তারিখ (জানুয়ারি 1, 1970) থেকে মিলিসেকেন্ডের সংখ্যা প্রদান করে। |
| Date toISOString() | একটি তারিখ অবজেক্টকে একটি ISO স্ট্রিংয়ে রূপান্তর করে |
| Date toJSON() | একটি তারিখ অবজেক্টকে JSON স্ট্রিংয়ে রূপান্তর করে |
| Property getters | কিভাবে বৈশিষ্ট্য মান প্রাপ্ত করা হয় সংজ্ঞায়িত করার অনুমতি দেয় |
| Property setters | কিভাবে বৈশিষ্ট্য মান সেট করা হয় তা নির্ধারণ করার অনুমতি দেয় |
| Reserved names | অ্যাট্রিবিউট নাম হিসাবে বরাদ্দ করা নামগুলিকে অনুমতি দেয়৷ |
| Object.create() | একটি বিদ্যমান বস্তু থেকে একটি বস্তু তৈরি করে |
| Object.keys() | একটি বস্তুর কী সহ একটি অ্যারে প্রদান করে |
| Object management | উপাদান ব্যবস্থাপনা পদ্ধতি |
| Object protection | উপাদান সুরক্ষা পদ্ধতি |
| Object defineProperty() | বস্তুর বৈশিষ্ট্য সংজ্ঞায়িত বা পরিবর্তন করার অনুমতি দেয় |
| Function bind() | বস্তুকে অন্যান্য বস্তু থেকে পদ্ধতি ধার করার অনুমতি দেয় |
| Trailing commas | অবজেক্ট এবং অ্যারে সংজ্ঞায় অনুগামী কমাকে অনুমতি দেয় |
ব্রাউজার সমর্থন
জাভাস্ক্রিপ্ট 2009 জুলাই 2013 পর্যন্ত সমস্ত আধুনিক ব্রাউজারে সমর্থিত:
| Chrome | IE/Edge | Firefox | Safari | Opera |
|---|---|---|---|---|
| 23 | 10 | 21 | 6 | 15 |
| সেপ্টেম্বর 2012 | সেপ্টেম্বর 2012 | এপ্রিল 2013 | জুলাই 2012 | জুলাই 2013 |
"use strict" Directive
"ব্যবহার কঠোর" সংজ্ঞায়িত করে যে জাভাস্ক্রিপ্ট কোড "কঠোর মোডে" কার্যকর করা উচিত।
স্ট্রিক্ট মোডের সাথে, উদাহরণস্বরূপ, অঘোষিত ভেরিয়েবল ব্যবহার করা যাবে না।
আপনি আপনার সমস্ত প্রোগ্রামে কঠোর মোড ব্যবহার করতে পারেন। এটি পরিষ্কার কোড লিখতে সাহায্য করে, যেমন অঘোষিত ভেরিয়েবলের ব্যবহার প্রতিরোধ করা।
তথ্য:
"ব্যবহার কঠোর" শুধুমাত্র একটি স্ট্রিং অভিব্যক্তি। পুরানো ব্রাউজাররা এটি বুঝতে না পারলে একটি ত্রুটি নিক্ষেপ করে না।
স্ট্রিং পদ্ধতি
String [] Access
charAt() পদ্ধতি একটি স্ট্রিং-এ নির্দিষ্ট সূচকে (অবস্থান) অক্ষর প্রদান করে:
let str = "HELLO WORLD";
str.charAt(0); // returns H
ES5 স্ট্রিংগুলিতে অ্যাট্রিবিউট অ্যাক্সেসের অনুমতি দেয়:
let str = "HELLO WORLD";
str[0]; // returns H
String.trim()
trim() পদ্ধতি উভয় দিক থেকে সাদা স্পেস সরিয়ে দেয়।
var str = " Hello World! ";
alert(str.trim());
অ্যারে পদ্ধতি
Array.isArray()
isArray() পদ্ধতি একটি বস্তু একটি অ্যারে কিনা তা পরীক্ষা করে।
const fruits = ["Banana", "Orange", "Apple", "Mango"];
result = Array.isArray(fruits);
Array forEach()
forEach() পদ্ধতি প্রতিটি অ্যারের উপাদানের জন্য একবার ফাংশন কল করে।
const numbers = [45, 4, 9, 16, 25];
numbers.forEach(myFunction);
Array map()
ম্যাপ() পদ্ধতিটি প্রতিটি অ্যারের উপাদানে অপারেশন সম্পাদন করে একটি নতুন অ্যারে তৈরি করে।
const numbers1 = [45, 4, 9, 16, 25];
const numbers2 = numbers1.map(myFunction);
function myFunction(value) {
return value * 2;
}
Array filter()
ফিল্টার() পদ্ধতি পরীক্ষায় উত্তীর্ণ অ্যারে উপাদান থেকে একটি নতুন অ্যারে তৈরি করে।
const numbers = [45, 4, 9, 16, 25];
const over18 = numbers.filter(myFunction);
function myFunction(value) {
return value > 18;
}
JSON পদ্ধতি
JSON.parse()
JSON-এর একটি সাধারণ ব্যবহার হল ওয়েব সার্ভার থেকে ডেটা পুনরুদ্ধার করা।
const txt = '{"name":"John", "age":30, "city":"New York"}'
const myObj = JSON.parse(txt);
JSON.stringify()
JSON-এর আরেকটি সাধারণ ব্যবহার হল ওয়েব সার্ভারে ডেটা পাঠানো।
const myObj = {name:"John", age:30, city:"New York"};
const myJSON = JSON.stringify(myObj);
JSON এক্সচেঞ্জ:
JSON.parse() JSON.stringify() ES5 . .
অবজেক্ট পদ্ধতি
Object.create()
Object.create() .
// Create an Object:
const person = {
firstName: "John",
lastName: "Doe"
};
// Create new Object
const man = Object.create(person);
man.firstName = "Peter";
Object.keys()
Object.keys() .
// Create an Object
const person = {
firstName: "John",
lastName: "Doe",
age: 50,
eyeColor: "blue"
};
// Get the Keys
const keys = Object.keys(person);
Object.defineProperty()
Object.defineProperty() ES5 .
// Create an Object:
const person = {
firstName: "John",
lastName : "Doe",
language : "NO",
};
// Change a Property:
Object.defineProperty(person, "language", {
value: "EN",
writable : true,
enumerable : true,
configurable : true
});
তারিখ পদ্ধতি
Date.now()
Date.now() ( 1, 1970) .
var timInMSs = Date.now();
Date toISOString()
toISOSstring() পদ্ধতিটি ISO স্ট্যান্ডার্ড বিন্যাস ব্যবহার করে একটি তারিখ অবজেক্টকে একটি স্ট্রিংয়ে রূপান্তর করে:
const d = new Date();
document.getElementById("demo").innerHTML = d.toISOString();
প্রপার্টি গেটার এবং সেটার্স
Property Getters
একটি প্রপার্টি গেটার হল একটি পদ্ধতি যা আপনাকে নির্ধারণ করতে দেয় যে কিভাবে একটি সম্পত্তির মান অ্যাক্সেস করা হয়।
// Create an object:
const Person = {
firstName: "John",
lastName : "Doe",
get fullName() {
return this.firstName + " " + this.lastName;
}
};
// Display data from the object using a getter:
document.getElementById("demo").innerHTML = Person.fullName;
Property Setters
একটি প্রপার্টি সেটার হল একটি পদ্ধতি যা আপনাকে সম্পত্তির মান কিভাবে সেট করা হয় তা নির্ধারণ করতে দেয়।
const Person = {
firstName: "John",
lastName : "Doe",
language : "NO",
set lang(value) {
this.language = value.toUpperCase();
}
};
// Set an object property using a setter:
person.lang = "en";
// Display data from the object:
document.getElementById("demo").innerHTML = Person.language;
Function Bind()
bind() পদ্ধতির সাহায্যে, একটি বস্তু অন্য বস্তু থেকে একটি পদ্ধতি ধার করতে পারে।
const person = {
firstName:"John",
lastName: "Doe",
fullName: function () {
return this.firstName + " " + this.lastName;
}
}
const member = {
firstName:"Hege",
lastName: "Nilsen",
}
let fullName = person.fullName.bind(member);
উপাদান ব্যবস্থাপনা এবং নিরাপত্তা
উপাদান ব্যবস্থাপনা
// Adding or changing an object property
Object.defineProperty(object, property, descriptor)
// Adding or changing object properties
Object.defineProperties(object, descriptors)
// Accessing a Property
Object.getOwnPropertyDescriptor(object, property)
// Returns all properties as an array
Object.getOwnPropertyNames(object)
// Accessing the prototype
Object.getPrototypeOf(object)
উপাদান সুরক্ষা
// Prevents adding properties to an object
Object.preventExtensions(object)
// Returns true if properties can be added
Object.isExtensible(object)
// Prevents changes of object properties
Object.seal(object)
// Returns true if object is sealed
Object.isSealed(object)
// Prevents any changes to an object
Object.freeze(object)
// Returns true if object is frozen
Object.isFrozen(object)
জাভাস্ক্রিপ্ট 2009 (ES5) টিউটোরিয়াল
ES5 এ শেখা বৈশিষ্ট্যগুলি পরীক্ষা করার জন্য এই টিউটোরিয়ালটি চেষ্টা করুন।