জেভাস্ক্রিপ্ট ইএস৬

ECMAScript 6 কী?

ECMAScript 6ও ES6 এবং ECMAScript 2015 নামে পরিচিত

কিছু লোক তাকে JavaScript 6 বলে উল্লেখ করেন

এই চপ্তরে আমরা ES6-এর কিছু নতুন প্রয়োগকে পরিচয় দিচ্ছি。

  • JavaScript let
  • JavaScript const
  • পদব্যবহার (**)
  • ডিফল্ট পারামিটার মান
  • Array.find()
  • Array.findIndex()

ES6 (ECMAScript 2015) ব্রাউজার সমর্থন

Safari 10 এবং Edge 14 প্রথমটি যেটা ES6-কে সম্পূর্ণভাবে সমর্থন করেছে:

Chrome 58 Edge 14 Firefox 54 Safari 10 Opera 55
Jan 2017 Aug 2016 Mar 2017 Jul 2016 Aug 2018

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

স্বয়ংক্রিয়ভাবে প্রয়োগ করুন

আমাদের JavaScript Let / Const বিষয়ে আরও পড়ুন let এবং const সামগ্রী

পদব্যবহার অপারেটর

পদব্যবহার অপারেটর (**)প্রথম আইসেটারকে দ্বিতীয় আইসেটারের পদব্যবহারে উন্নীত করে।

ইনস্ট্যান্স

var x = 5;
var z = x ** 2;          // ফলাফল 25

স্বয়ংক্রিয়ভাবে প্রয়োগ করুন

x ** y ফলাফল Math.pow(x,y) একই রকম:

ইনস্ট্যান্স

var x = 5;
var z = Math.pow(x,2);   // ফলাফল 25

স্বয়ংক্রিয়ভাবে প্রয়োগ করুন

ডিফল্ট পারামিটার মান

ES6 ফাংসন প্রমাণীকারী পারামিটারকে ডিফল্ট মান দেওয়ার অনুমতি দেয়。

ইনস্ট্যান্স

function myFunction(x, y = 10) {
  // y is 10 if not passed or undefined
  return x + y;
}
myFunction(5); // তা 15 ফেরত দেবে

স্বয়ংক্রিয়ভাবে প্রয়োগ করুন

Array.find()

find() মথদা পরীক্ষা ফাংসনের মাধ্যমে প্রথম আইসেটার মান ফেরত দেয়।

এই উদাহরণে প্রথম যেটা 18 থেকে বড় হয় (মানকে মান্যতা দেওয়া হয়):

ইনস্ট্যান্স

var numbers = [4, 9, 16, 25, 29];
var first = numbers.find(myFunction);
function myFunction(value, index, array) {
  return value > 18;
}

স্বয়ংক্রিয়ভাবে প্রয়োগ করুন

মহূদ্দা এই ফাংশন 3টি প্রাপ্ত প্রমাণপত্র নিয়ে আসে:

  • আইন্টেজ মান
  • আইন্টেজ ইন্ডেক্স
  • আইন্টেজ স্বয়ং

Array.findIndex()

findIndex() মথদা পরীক্ষা ফাংসনের মাধ্যমে প্রথম আইসেটার ইন্ডেক্স ফাংসন ফেরত দেয়।

এই উদাহরণ যথায় প্রথম সংখ্যা 18 থেকে বড় হওয়ার ইন্ডেক্স নির্ধারণ করে:

ইনস্ট্যান্স

var numbers = [4, 9, 16, 25, 29];
var first = numbers.findIndex(myFunction);
function myFunction(value, index, array) {
  return value > 18;
}

স্বয়ংক্রিয়ভাবে প্রয়োগ করুন

মহূদ্দা এই ফাংশন 3টি প্রাপ্ত প্রমাণপত্র নিয়ে আসে:

  • আইন্টেজ মান
  • আইন্টেজ ইন্ডেক্স
  • আইন্টেজ স্বয়ং

নতুন সংখ্যা বৈশিষ্ট্য

ES6 Number অবজেক্টে নিম্নলিখিত বৈশিষ্ট্য যোগ করেছে:

  • EPSILON
  • MIN_SAFE_INTEGER
  • MAX_SAFE_INTEGER

ইনস্ট্যান্স

var x = Number.EPSILON;

স্বয়ংক্রিয়ভাবে প্রয়োগ করুন

ইনস্ট্যান্স

var x = Number.MIN_SAFE_INTEGER;

স্বয়ংক্রিয়ভাবে প্রয়োগ করুন

ইনস্ট্যান্স

var x = Number.MAX_SAFE_INTEGER;

স্বয়ংক্রিয়ভাবে প্রয়োগ করুন

নতুন সংখ্যা মথুদা

ES6 Number অবজেক্টে 2টি নতুন মথুদা যোগ করেছে:

  • Number.isInteger()
  • Number.isSafeInteger()

Number.isInteger() মথুদা

যদি প্রাপ্ত প্রমাণপত্র হয় Number.isInteger() মথোড ফলাফল true

ইনস্ট্যান্স

Number.isInteger(10);        // ফলাফল true
Number.isInteger(10.5);      // ফলাফল false

স্বয়ংক্রিয়ভাবে প্রয়োগ করুন

Number.isSafeInteger() মথুদা

নিরাপদ সংখ্যা হল যেসব সংখ্যা ডাবল প্রেসিশন সংখ্যা হিসাবে সঠিকভাবে প্রকাশ করা যায়

যদি প্রাপ্ত প্রমাণপত্র নিরাপদ সংখ্যা হয় Number.isSafeInteger() মথোড ফলাফল true

ইনস্ট্যান্স

Number.isSafeInteger(10);    // ফলাফল true
Number.isSafeInteger(12345678901234567890);  // ফলাফল false

স্বয়ংক্রিয়ভাবে প্রয়োগ করুন

নিরাপদ সংখ্যা বলতে এমন সকল সংখ্যা বোঝায় যায় যারা -(253 - 1) থেকে +(253 - 1) পর্যন্ত আছেন

এটা নিরাপদ: 9007199254740991। এটা অনিরাপদ: 9007199254740992।

নতুন গ্লোবাল মথুদা

ES6 একটি নতুন গ্লোবাল সংখ্যা মথুদা 2টি নতুন মথুদা যোগ করেছে:

  • isFinite()
  • isNaN()

isFinite() মথুদা

যদি প্রাপ্ত প্রমাণপত্র Infinity বা NaNতবে isFinite() মথুদা false ফিরিয়ে দেয়。

অন্যথায় true ফিরিয়ে দেয়:

ইনস্ট্যান্স

isFinite(10/0);       // ফলাফল false
isFinite(10/1);       // ফলাফল true

স্বয়ংক্রিয়ভাবে প্রয়োগ করুন

isNaN() মথুদা

যদি পারামিটার NaNতবে isNaN() মথোড ফলাফল true। না হলে false:

ইনস্ট্যান্স

isNaN("Hello");       // ফলাফল true

স্বয়ংক্রিয়ভাবে প্রয়োগ করুন

অর্ডার ফাংশন (Arrow Function)

অর্ডার ফাংশন ফাংশন এক্সপ্রেশন লিখতে সহজ সাইন্ট্যাক্স ব্যবহার করতে পারে

আপনারা function কীবোর্ড,return কীবোর্ডব্রেকেট

ইনস্ট্যান্স

// ES5
var x = function(x, y) {
   return x * y;
}
// ES6
const x = (x, y) => x * y;

স্বয়ংক্রিয়ভাবে প্রয়োগ করুন

অর্ডার ফাংশনকে নিজস্ব this। তাই তারাওবজেক্ট মথোড

অর্ডার ফাংশন উত্থানযোগ্য নয়, তাই তাদেরপূর্বউপযোগ

ব্যবহার const এবং var আরও নিরাপদ, কারণ ফাংশন এক্সপ্রেশন সবসময় স্থির মানকে হয়

যদি ফাংশন একটি একক স্টেটমেন্ট হয়, তবে তা উপেক্ষিত করা যেতে পারে return কীবোর্ড এবং ব্রেকেট, তাই তাদের সংরক্ষণ একটি ভালো অভ্যাস হতে পারে:

ইনস্ট্যান্স

const x = (x, y) => { return x * y };

স্বয়ংক্রিয়ভাবে প্রয়োগ করুন