ECMAScript 2015
জাভাস্ক্রিপ্টের জন্য একটি দ্বিতীয় প্রধান সংশোধন।
ECMAScript 2015 ES6 নামেও পরিচিত।
গুরুত্বপূর্ণ নোট:
ES6 জাভাস্ক্রিপ্ট ইতিহাসে সবচেয়ে বড় আপডেট হিসেবে বিবেচিত হয়। এটি আধুনিক জাভাস্ক্রিপ্ট প্রোগ্রামিং এর ভিত্তি স্থাপন করে।
জাভাস্ক্রিপ্ট 2015 (ES6) এ নতুন বৈশিষ্ট্য
| বৈশিষ্ট্য | ব্যাখ্যা |
|---|---|
| The let keyword | ব্লক স্কোপ সহ একটি পরিবর্তনশীল ঘোষণা করে |
| The const keyword | একটি ধ্রুবক অপরিবর্তনীয় পরিবর্তনশীল ঘোষণা করুন |
| Arrow Functions | ফাংশন এক্সপ্রেশন লেখার জন্য একটি ছোট সিনট্যাক্সের অনুমতি দেয় |
| {a,b} = Operator | ভেরিয়েবলে অবজেক্টের বৈশিষ্ট্য বরাদ্দ করা (বস্তু ধ্বংস করা) |
| [a,b] = Operator | ভেরিয়েবলে অ্যারের মান বরাদ্দ করা (অ্যারে ধ্বংস করা) |
| ... Operator | পৃথক উপাদানে একটি অ্যারে বা পুনরাবৃত্তিযোগ্য ভাঙ্গে |
| For/of | একটি পুনরাবৃত্তিযোগ্য বস্তুর মানগুলির মধ্য দিয়ে লুপ করে |
| Map Objects | কী-মানের জোড়া ধারণ করা একটি বস্তু বস্তুর অনুরূপ কিন্তু বস্তু থেকে ভিন্ন |
| Set Objects | একটি অ্যারে যা পৃথক মান সঞ্চয় করে |
| Classes | জাভাস্ক্রিপ্ট অবজেক্টের জন্য টেমপ্লেট |
| Promises | একটি বস্তু যা একটি অ্যাসিঙ্ক্রোনাস অপারেশনের সমাপ্তি উপস্থাপন করে |
| Symbol | একটি অনন্য "লুকানো" শনাক্তকারী যা কোনো কোড অ্যাক্সেস করতে পারে না |
| Default Parameters | ফাংশন প্যারামিটারের জন্য ডিফল্ট মান অনুমোদন করে |
| Rest Parameters | ফাংশন অনির্দিষ্ট সংখ্যক আর্গুমেন্ট পরিচালনা করার অনুমতি দেয় |
| String.includes() | একটি স্ট্রিং নির্দিষ্ট মান ধারণ করলে সত্য প্রদান করে |
| String.startsWith() | একটি স্ট্রিং নির্দিষ্ট মান দিয়ে শুরু হলে সত্য প্রদান করে |
| String.endsWith() | একটি স্ট্রিং নির্দিষ্ট মান দিয়ে শেষ হলে সত্য প্রদান করে |
| Array entries() | একটি অ্যারে থেকে পুনরাবৃত্তিযোগ্য কী/মান জোড়া প্রদান করে |
| Array.from() | একটি স্ট্রিং থেকে একটি অ্যারে তৈরি করে |
| Array keys() | একটি অ্যারের কীগুলির সাথে একটি পুনরাবৃত্তিযোগ্য ফেরত দেয় |
| Array find() | একটি পরীক্ষায় উত্তীর্ণ প্রথম উপাদানটির মান প্রদান করে |
| Array findIndex() | পরীক্ষায় উত্তীর্ণ প্রথম উপাদানের সূচী প্রদান করে |
| Object.assign() | উৎস বস্তু থেকে লক্ষ্য বস্তুর বৈশিষ্ট্য অনুলিপি |
| RegExp /u | রেগুলার এক্সপ্রেশনে সম্পূর্ণ ইউনিকোড সমর্থন সক্ষম করে |
| RegExp /y | লাস্ট ইনডেক্স অ্যাট্রিবিউট থেকে একটি "স্টিকি" অনুসন্ধান করে |
| isFinite() | যুক্তি ইনফিনিটি বা NaN না হলে সত্য দেখায় |
| IsNaN() | যুক্তিটি NaN হলে সত্য দেখায় |
| Modules | আপনাকে আপনার কোডকে আলাদা ফাইলে বিভক্ত করার অনুমতি দেয় |
| Reflect | বস্তুতে নিম্ন-স্তরের অপারেশনের জন্য অর্থ |
| Proxy | বস্তু যা নিয়ন্ত্রণ ফাংশন জন্য অন্যান্য বস্তু অন্তর্ভুক্ত |
গণিত বৈশিষ্ট্য
| বৈশিষ্ট্য | ব্যাখ্যা |
|---|---|
| Math.trunc(x) | x এর পূর্ণসংখ্যার অংশ প্রদান করে |
| Math.sign(x) | x ঋণাত্মক, শূন্য বা ধনাত্মক হলে -1, 0, বা 1 প্রদান করে |
| Math.cbrt(x) | x এর কিউব রুট প্রদান করে |
| Math.log2(x) | x এর বেস 2 লগারিদম প্রদান করে |
| Math.log10(x) | x এর বেস 10 লগারিদম প্রদান করে |
সংখ্যা বৈশিষ্ট্য
| বৈশিষ্ট্য | ব্যাখ্যা |
|---|---|
| Number.EPSILON | 1 এবং 1-এর চেয়ে ছোট সংখ্যার মধ্যে পার্থক্য |
| Number.MIN_SAFE_INTEGER | ন্যূনতম মান যা সঠিকভাবে নির্দিষ্ট করা যেতে পারে |
| Number.MAX_SAFE_INTEGER | সর্বাধিক মান যা সঠিকভাবে নির্দিষ্ট করা যেতে পারে |
| Number.isInteger() | যুক্তি একটি পূর্ণসংখ্যা হলে সত্য প্রদান করে |
| Number.isSafeInteger() | যুক্তি একটি নিরাপদ পূর্ণসংখ্যা হলে সত্য প্রদান করে |
ব্রাউজার সমর্থন
জাভাস্ক্রিপ্ট 2015 জুন 2017 পর্যন্ত সমস্ত আধুনিক ব্রাউজারে সমর্থিত:
| Chrome | Edge | Firefox | Safari | Opera |
|---|---|---|---|---|
| 51 | 15 | 54 | 10 | 38 |
| মে 2016 | এপ্রিল 2017 | জুন 2017 | সেপ্টেম্বর 2016 | জুন 2016 |
গুরুত্বপূর্ণ নোট:
ইন্টারনেট এক্সপ্লোরারে ES6 সমর্থিত নয়।
JavaScript let
let কীওয়ার্ড আপনাকে ব্লক স্কোপ সহ একটি ভেরিয়েবল ঘোষণা করতে দেয়।
উদাহরণ
var x = 10;
// Here x is 10
{
let x = 2;
// Here x is 2
}
// Here x is 10
JavaScript const
const কীওয়ার্ড আপনাকে একটি ধ্রুবক (একটি নির্দিষ্ট মান সহ একটি জাভাস্ক্রিপ্ট ভেরিয়েবল) ঘোষণা করতে দেয়।
ধ্রুবক হল let ভেরিয়েবলের মত, ব্যতীত মান পরিবর্তন করা যাবে না।
উদাহরণ
var x = 10;
// Here x is 10
{
const x = 2;
// Here x is 2
}
// Here x is 10
Arrow Functions
তীর ফাংশন ফাংশন এক্সপ্রেশন লেখার জন্য একটি ছোট সিনট্যাক্স।
আপনার ফাংশন কীওয়ার্ড, রিটার্ন কীওয়ার্ড বা কোঁকড়া বন্ধনীর প্রয়োজন নেই।
তীরের আগে:
let myFunction = function(a, b) {
return a * b;
}
তীর দিয়ে:
let myFunction = (a, b) => a * b;
দ্রষ্টব্য:
তীর ফাংশন তাদের নিজস্ব এটি নেই. তারা অবজেক্ট পদ্ধতি সংজ্ঞায়িত করার জন্য উপযুক্ত নয়।
তীর ফাংশন উত্থাপিত হয় না. তারা ব্যবহার করা যেতে পারে আগে তাদের সংজ্ঞায়িত করা আবশ্যক.
রিটার্ন কীওয়ার্ড এবং কোঁকড়া ধনুর্বন্ধনী শুধুমাত্র ফাংশন একটি একক বিবৃতি হলেই বাদ দেওয়া যেতে পারে।
স্প্রেড (...) অপারেটর
... অপারেটর একটি অ্যারে বা পুনরাবৃত্তিযোগ্য পৃথক উপাদানে বিভক্ত করে।
উদাহরণ
... অপারেটর একটি ফাংশনে আর্গুমেন্ট পাস করতে পারে:
const numbers = [23,55,21,87,56];
let minValue = Math.min(...numbers);
let maxValue = Math.max(...numbers);
... অপারেটর অ্যারে সংযুক্ত করতে ব্যবহার করা যেতে পারে:
const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];
const arr3 = [...arr1, ...arr2];
For/Of Loop
জাভাস্ক্রিপ্ট ফর/অফ স্টেটমেন্ট একটি পুনরাবৃত্তিযোগ্য বস্তুর মানগুলির মাধ্যমে লুপ করে।
for/of পুনরাবৃত্তিযোগ্য ডেটা স্ট্রাকচার, যেমন অ্যারে, স্ট্রিং, গ্রাফ, নোডলিস্ট ইত্যাদির উপর পুনরাবৃত্তি করার অনুমতি দেয়।
সিনট্যাক্স
for (variable of iterable) {
// code block to be executed
}
ক্রমানুসারে ঘোরান
const cars = ["BMW", "Volvo", "Mini"];
let text = "";
for (let x of cars) {
text += x + " ";
}
JavaScript Classes
জাভাস্ক্রিপ্ট ক্লাস হল জাভাস্ক্রিপ্ট অবজেক্টের টেমপ্লেট।
ক্লাস তৈরি করতে ক্লাস কীওয়ার্ড ব্যবহার করুন।
সর্বদা কনস্ট্রাক্টর() নামক একটি পদ্ধতি অন্তর্ভুক্ত করুন:
সিনট্যাক্স
class ClassName {
constructor() { ... }
}
উদাহরণ
class Car {
constructor(name, year) {
this.name = name;
this.year = year;
}
}
JavaScript Promises
একটি জাভাস্ক্রিপ্ট প্রতিশ্রুতি হল একটি বস্তু যা একটি অ্যাসিঙ্ক্রোনাস অপারেশন এবং এর মানগুলির সমাপ্তি বা ব্যর্থতাকে প্রতিনিধিত্ব করে।
এটি অ্যাসিঙ্ক্রোনাস কোড পরিচালনা করার জন্য একটি কাঠামোগত উপায় প্রদান করে, একটি মানের জন্য একটি স্থানধারক নাম যা এখনও উপলব্ধ নয়।
সিনট্যাক্স
const myPromise = new Promise(function(myResolve, myReject) {
// "Producing Code" (May take some time)
myResolve(); // when successful
myReject(); // when error
});
// "Consuming Code" (Must wait for a fulfilled Promise).
myPromise.then(
function(value) { /* code if successful */ },
function(error) { /* code if some error */ }
);
জাভাস্ক্রিপ্ট 2015 (ES6) টিউটোরিয়াল
ES6-এ শেখা বৈশিষ্ট্যগুলি পরীক্ষা করার জন্য এই টিউটোরিয়ালটি ব্যবহার করে দেখুন।