٪۴۰ تخفیف تابستانه شروع شد! بزرگترین حراج سال ما

به ما بپیوندید

آموزش Javascript ES6

ECMAScript 2015 دومین ویرایش مهم در JavaScript بود. ECMAScript 2015 با نام های ES6 و ECMAScript 6 نیز شناخته می شود. این فصل مهمترین ویژگیهای ES6 را توصیف می کند. ویژگی های جدید در ES6 کلمه کلیدی let کلمه کلیدی…

محمد یوسفی

24 جولای 2021

ECMAScript 2015 دومین ویرایش مهم در JavaScript بود.

ECMAScript 2015 با نام های ES6 و ECMAScript 6 نیز شناخته می شود.

این فصل مهمترین ویژگیهای ES6 را توصیف می کند.

ویژگی های جدید در ES6

  • کلمه کلیدی let
  • کلمه کلیدی const
  • توابع پیکان
  • برای / از
  • اشیا Map نقشه
  • تنظیم اشیا
  • کلاس ها
  • وعده ها
  • نماد
  • پارامترهای پیش فرض
  • پارامتر عملکرد
  • رشته. شامل ()
  • String.startsWith ()
  • String.endsWith ()
  • Array.from ()
  • Array.keys ()
  • Array.find ()
  • Array.findIndex ()
  • روش های جدید ریاضی
  • ویژگی های شماره جدید
  • روش های شماره جدید
  • روشهای جدید جهانی
  • Iterables Object.entries
  • ماژول های JavaScript

پشتیبانی مرورگر برای ES6 (2015)

Safari 10 و Edge 14 اولین مرورگرهایی بودند که به طور کامل از ES6 پشتیبانی می کنند:


جاوا اسکریپت اجازه دهید

letکلمه کلیدی شما اجازه می دهد برای تعریف متغیر با دامنه بلوک.

مثال

var x = 10;
// Here x is 10
{
  let x = 2;
  // Here x is 2
}
// Here x is 10

جاوا اسکریپت

constکلمه کلیدی شما اجازه می دهد به اعلام یک ثابت (یک متغیر جاوا اسکریپت را با یک مقدار ثابت).

ثابت ها مانند متغیرهای let هستند ، با این تفاوت که مقدار قابل تغییر نیست.

مثال

var x = 10;
// Here x is 10
{
  const x = 2;
  // Here x is 2
}
// Here x is 10

توابع پیکان

توابع Arrow یک نحو کوتاه را برای نوشتن عبارات عملکرد فراهم می کند.

شما به functionکلمه کلیدی ، returnکلمه کلیدی و براکت های فرفری نیازی ندارید .

مثال

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

// ES6
const x = (x, y) => x * y;

توابع فلش خاص خود را ندارند this. آنها برای تعریف روشهای شی object مناسب نیستند .

عملکردهای پیکان بلند نمی شوند. قبل از استفاده باید تعریف شوند.

استفاده از const آن ایمن تر از استفاده است var، زیرا یک عبارت عملکرد همیشه یک مقدار ثابت است.

فقط returnدرصورتی که تابع یک جمله باشد می توانید کلمه کلیدی و پرانتزهای مجعد را حذف کنید . به همین دلیل ، ممکن است عادت خوبی باشد که همیشه آنها را حفظ کنید:

مثال

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

حلقه For / Of

for/ofدستور JavaScript مقادیر اشیا it قابل تکرار را مرور می کند.

for/of به شما امکان می دهد ساختارهای داده ای را که قابل کنترل هستند مانند آرایه ها ، رشته ها ، نقشه ها ، NodeLists و موارد دیگر ، مرور کنید.

این for/ofحلقه دارای نحو زیر است:

for (variable of iterable) {
  // code block to be executed
}

متغیر – برای هر تکرار مقدار ویژگی بعدی به متغیر اختصاص می یابد. متغیر را می توان با const، let، یا var.

تکرارپذیر – شیئی که دارای خواص قابل تکرار است.

حلقه زدن روی یک آرایه

مثال

const cars = ["BMW", "Volvo", "Mini"];
let text = "";

for (let x of cars) {
  text += x + " ";
}

حلقه زدن روی یک رشته

مثال

let language = "JavaScript";
let text = "";

for (let x of language) {
    text += x + " ";
}

اشیا Map نقشه جاوا اسکریپت

امکان استفاده از Object به عنوان کلید از ویژگیهای مهم Map است.

مثال

// Create Objects
const apples = {name: 'Apples'};
const bananas = {name: 'Bananas'};
const oranges = {name: 'Oranges'};

// Create a new Map
const fruits = new Map();

// Add new Elements to the Map
fruits.set(apples, 500);
fruits.set(bananas, 300);
fruits.set(oranges, 200);

JavaScript Set Objects

مثال

// Create a Set
const letters = new Set();

// Add some values to the Set
letters.add("a");
letters.add("b");
letters.add("c");

کلاسهای جاوا اسکریپت

کلاسهای JavaScript الگوهایی برای اشیا Java JavaScript هستند.

classبرای ایجاد کلاس از کلمه کلیدی استفاده کنید.

همیشه روشی به نام اضافه کنید constructor():

نحو

class ClassName {
  constructor() { ... }
}

مثال

class Car {
  constructor(name, year) {
    this.name = name;
    this.year = year;
  }
}

مثال فوق یک کلاس به نام “Car” ایجاد می کند.

کلاس دارای دو ویژگی اولیه است: “name” و “year”.

کلاس A جاوا اسکریپت است نه یک شی.

این یک الگوی برای اشیا Java جاوا اسکریپت است.


استفاده از کلاس

وقتی کلاس دارید ، می توانید از کلاس برای ایجاد اشیا استفاده کنید:

مثال

const myCar1 = new Car("Ford", 2014);
const myCar2 = new Car("Audi", 2019);

وعده های جاوا اسکریپت

Promise یک شی Java جاوا اسکریپت است که “کد تولید” و “کد مصرف” را به هم پیوند می دهد.

“Code Code” ممکن است کمی طول بکشد و “Consuming Code” باید منتظر نتیجه بماند.

نحو قول

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 */ }
);

مثال استفاده از یک وعده

const myPromise = new Promise(function(myResolve, myReject) {
  setTimeout(function() { myResolve("I love You !!"); }, 3000);
});

myPromise.then(function(value) {
  document.getElementById("demo").innerHTML = value;
});

نوع نماد

نماد جاوا اسکریپت یک نوع داده ابتدایی است درست مانند Number ، String یا Boolean.

این معرف یک شناسه “پنهان” منحصر به فرد است که هیچ کد دیگری نمی تواند به طور تصادفی به آن دسترسی پیدا کند.

به عنوان مثال ، اگر رمزگذاران مختلف بخواهند خاصیت person.id را به شی person شخص متعلق به کد شخص ثالث اضافه کنند ، می توانند مقادیر یکدیگر را مخلوط کنند.

با استفاده از Symbol () برای ایجاد شناسه های منحصر به فرد ، این مشکل حل می شود:

مثال

const person = {
  firstName: "John",
  lastName: "Doe",
  age: 50,
  eyeColor: "blue"
};

let id = Symbol('id');
person[id] = 140353;
// Now Person[id] = 140353
// but person.id is still undefined

نمادها همیشه منحصر به فرد هستند.

اگر دو نماد با همان توصیف ایجاد کنید مقادیر مختلفی دارند.

Symbol("id") == Symbol("id") // false

مقادیر پارامتر پیش فرض

ES6 به پارامترهای عملکرد اجازه می دهد مقادیر پیش فرض داشته باشند.

مثال

function myFunction(x, y = 10) {
  // y is 10 if not passed or undefined
  return x + y;
}
myFunction(5); // will return 15

پارامتر عملکرد

پارامتر rest (…) به یک تابع اجازه می دهد تا تعداد نامشخصی از آرگومان ها را به عنوان یک آرایه در نظر بگیرد:

مثال

function sum(...args) {
  let sum = 0;
  for (let arg of args) sum += arg;
  return sum;
}

let x = sum(4, 9, 16, 25, 29, 100, 66, 77);

رشته. شامل ()

includes()روش بازده trueاگر یک رشته حاوی یک مقدار مشخص شده، در غیر این صورت false:

مثال

let text = "Hello world, welcome to the universe.";
text.includes("world")    // Returns true

String.startsWith ()

startsWith()روش بازده true اگر یک رشته با مقدار مشخص شده آغاز می شود، در غیر این صورت false:

مثال

let text = "Hello world, welcome to the universe.";

text.startsWith("Hello")   // Returns true

String.endsWith ()

endsWith()روش بازده true اگر یک رشته به پایان می رسد با مقدار مشخص شده، در غیر این صورت false:

مثال

var text = "John Doe";
text.endsWith("Doe")    // Returns true

Array.from ()

این Array.from()روش یک شی Ar Array را از هر شی با خاصیت length یا هر شی قابل تکرار بازمی گرداند.

مثال

یک آرایه از یک رشته ایجاد کنید:

Array.from("ABCDEFG")   // Returns [A,B,C,D,E,F,G]

Array.Keys ()

این Array.keys()روش یک شی Ar Array Iterator را با کلیدهای یک آرایه برمی گرداند.

مثال

یک شی Array Iterator ، حاوی کلیدهای آرایه ایجاد کنید:

const fruits = ["Banana", "Orange", "Apple", "Mango"];
const keys = fruits.keys();

for (let of keys) {
  text += x + "<br>";
}

Array.find ()

این find()روش مقدار اولین عنصر آرایه را که یک تابع آزمایش را منتقل می کند ، برمی گرداند.

این مثال اولین عنصر بزرگتر از 18 را پیدا می کند (مقدار آن را برمی گرداند):

مثال

const numbers = [4, 9, 16, 25, 29];
let first = numbers.find(myFunction);

function myFunction(value, index, array) {
  return value > 18;
}

توجه داشته باشید که این تابع 3 آرگومان می گیرد:

  • ارزش مورد
  • فهرست مورد
  • خود آرایه

Array.findIndex ()

این findIndex()روش شاخص اولین عنصر آرایه ای را که یک تابع آزمایش را منتقل می کند ، برمی گرداند.

این مثال شاخص اولین عنصر بزرگتر از 18 را پیدا می کند:

مثال

const numbers = [4, 9, 16, 25, 29];
let first = numbers.findIndex(myFunction);

function myFunction(value, index, array) {
  return value > 18;
}

توجه داشته باشید که این تابع 3 آرگومان می گیرد:

  • ارزش مورد
  • فهرست مورد
  • خود آرایه

روش های جدید ریاضی

ES6 روش های زیر را به شی Math اضافه کرد:

  • Math.trunc()
  • Math.sign()
  • Math.cbrt()
  • Math.log2()
  • Math.log10()

روش () Math.trunc

Math.trunc(x) قسمت صحیح x را برمی گرداند:

مثال

Math.trunc(4.9);    // returns 4
Math.trunc(4.7);    // returns 4
Math.trunc(4.4);    // returns 4
Math.trunc(4.2);    // returns 4
Math.trunc(-4.2);    // returns -4

روش () Math.sign

Math.sign(x) اگر x منفی ، صفر یا مثبت باشد باز می گردد:

مثال

Math.sign(-4);    // returns -1
Math.sign(0);    // returns 0
Math.sign(4);    // returns 1

روش () Math.cbrt

Math.cbrt(x) ریشه مکعب x را برمی گرداند:

مثال

Math.cbrt(8);    // returns 2
Math.cbrt(64);    // returns 4
Math.cbrt(125);    // returns 5

روش Math.log2 ()

Math.log2(x) لگاریتم پایه 2 x را برمی گرداند:

مثال

Math.log2(2);    // returns 1

روش Math.log10 ()

Math.log10(x) لگاریتم پایه 10 x را برمی گرداند:

مثال

Math.log10(10);    // returns 1

ویژگی های شماره جدید

ES6 خصوصیات زیر را به شی Number اضافه کرد:

  • EPSILON
  • MIN_SAFE_INTEGER
  • MAX_SAFE_INTEGER

مثال

let x = Number.EPSILON;

مثال

let x = Number.MIN_SAFE_INTEGER;

مثال

let x = Number.MAX_SAFE_INTEGER;

روش های شماره جدید

ES6 2 روش جدید به شی Number اضافه کرد:

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

روش Number.isInteger ()

Number.isInteger()روش گرداند trueاگر استدلال یک عدد صحیح است.

مثال

Number.isInteger(10);        // returns true
Number.isInteger(10.5);      // returns false

روش Number.isSafeInteger ()

یک عدد صحیح امن یک عدد صحیح است که دقیقاً می تواند به عنوان یک عدد دقت دو نشان داده شود.

اگر آرگومان یک عدد صحیح امن باشد ، این Number.isSafeInteger()متد برمی گردد true.

مثال

Number.isSafeInteger(10);    // returns true
Number.isSafeInteger(12345678901234567890);  // returns false

اعداد صحیح امن همه اعداد صحیح از – (2 53 – 1) تا + (2 53 – 1) هستند.
این بی خطر است: 9007199254740991. این بی خطر نیست: 9007199254740992.


روشهای جدید جهانی

ES6 2 روش جدید جهانی برای تعداد اضافه کرد:

  • isFinite()
  • isNaN()

روش isFinite () است

اگر استدلال یا باشد ، isFinite()روش جهانی برمی گردد .falseInfinityNaN

در غیر این صورت برمی گردد true:

مثال

isFinite(10/0);       // returns false
isFinite(10/1);       // returns true

روش isNaN () است

اگر استدلال وجود داشته باشد ، isNaN()روش جهانی برمی گردد . در غیر این صورت برمی گردد :trueNaNfalse

مثال

isNaN("Hello");       // returns true

 

منبع

مطالب مرتبط

0 0 رای ها
امتیازدهی به مقاله
اشتراک در
اطلاع از
guest
0 نظرات
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها