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

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

جاوا اسکریپت ES5

ECMAScript 2009 ، همچنین به عنوان ES5 شناخته می شود ، اولین ویرایش اساسی در JavaScript بود. این فصل مهمترین ویژگیهای ES5 را توصیف می کند. ویژگی های ES5 “استفاده دقیق” دسترسی به رشته [ تعداد ] رشته های چند خطی String.trim ()…

محمد یوسفی

23 جولای 2021

ECMAScript 2009 ، همچنین به عنوان ES5 شناخته می شود ، اولین ویرایش اساسی در JavaScript بود.

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

ویژگی های ES5

  • “استفاده دقیق”
  • دسترسی به رشته [ تعداد ]
  • رشته های چند خطی
  • String.trim ()
  • Array.isArray ()
  • Array.forEach ()
  • Array.map ()
  • Array.filter ()
  • Array.reduce ()
  • Array.reduceRight ()
  • Array.every ()
  • آرایه. بعضی ()
  • Array.indexOf ()
  • Array.lastIndexOf ()
  • JSON.parse ()
  • JSON.stringify ()
  • تاریخ. اکنون ()
  • Date.toISOString ()
  • Date.toJSON ()
  • گیرنده ها و تنظیم کنندگان املاک
  • کلمات رزرو شده به عنوان نام خاصیت
  • روش های شی
  • Object defineProperty ()
  • Function.bind ()
  • ویرگول عقب

پشتیبانی مرورگر

ES5 به طور کامل در تمام مرورگرهای مدرن پشتیبانی می شود:


دستورالعمل “استفاده دقیق”

"use strict" تعریف می کند که کد JavaScript باید در “حالت سخت” اجرا شود.

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

شما می توانید از حالت سختگیرانه در تمام برنامه های خود استفاده کنید. به شما کمک می کند تا کد پاک تری بنویسید ، مانند اینکه از استفاده از متغیرهای اعلام نشده جلوگیری می کند.

"use strict"فقط یک عبارت رشته ای است. مرورگرهای قدیمی اگر خطایی را متوجه نشوند خطایی ایجاد نمی کنند.

بیشتر بخوانید در حالت سختگیرانه JS .


دسترسی به املاک در رشته ها

charAt()روش شخصیت در یک شاخص مشخص (موقعیت) در یک رشته را برمی گرداند:

مثال

var str = "HELLO WORLD";
str.charAt(0);            // returns H

ES5 اجازه دسترسی به املاک روی رشته ها را می دهد:

مثال

var str = "HELLO WORLD";
str[0];                   // returns H

دسترسی به ویژگی در رشته ممکن است کمی غیرقابل پیش بینی باشد.


رشته ها روی چندین خط

ES5 در صورت فرار کردن با یک بک لک ، اجازه می دهد تا حروف الفبا را روی چندین خط قرار دهد:

مثال

"Hello \
Dolly!";

این روش ممکن است از پشتیبانی جهانی برخوردار نباشد.
مرورگرهای قدیمی ممکن است با فضاهای اطراف بک اسلش متفاوت رفتار کنند.
برخی از مرورگرهای قدیمی فاصله پشت کاراکتر \ را مجاز نمی دانند.

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

مثال

"Hello " +
"Dolly!";

کلمات رزرو شده به عنوان نام املاک

ES5 کلمات ذخیره شده را به عنوان نام خاصیت مجاز می داند:

مثال اشیا

var obj = {name: "John", new: "yes"}

String.trim ()

String.trim() فضای خالی را از دو طرف رشته حذف می کند.

مثال

var str = "       Hello World!        ";
alert(str.trim());


Array.isArray ()

این isArray()روش آرایه ای بودن یک شی را بررسی می کند.

مثال

function myFunction() {
  var fruits = ["Banana", "Orange", "Apple", "Mango"];
  var x = document.getElementById("demo");
  x.innerHTML = Array.isArray(fruits);
}

Array.forEach ()

این forEach()روش برای هر عنصر آرایه یک بار یک تابع را فراخوانی می کند.

مثال

var txt = "";
var numbers = [45, 4, 9, 16, 25];
numbers.forEach(myFunction);

function myFunction(value) {
  txt = txt + value + "<br>";
}

Array.map ()

این مثال هر مقدار آرایه را در 2 ضرب می کند:

مثال

var numbers1 = [45, 4, 9, 16, 25];
var numbers2 = numbers1.map(myFunction);

function myFunction(value) {
  return value * 2;
}

Array.filter ()

این مثال یک آرایه جدید از عناصر با مقدار بزرگتر از 18 ایجاد می کند:

مثال

var numbers = [45, 4, 9, 16, 25];
var over18 = numbers.filter(myFunction);

function myFunction(value) {
  return value > 18;
}

Array.reduce ()

این مثال مجموع تمام اعداد را در یک آرایه پیدا می کند:

مثال

var numbers1 = [45, 4, 9, 16, 25];
var sum = numbers1.reduce(myFunction);

function myFunction(total, value) {
  return total + value;
}

Array.reduceRight ()

این مثال همچنین مجموع تمام اعداد موجود در یک آرایه را پیدا می کند:

مثال

var numbers1 = [45, 4, 9, 16, 25];
var sum = numbers1.reduceRight(myFunction);

function myFunction(total, value) {
  return total + value;
}

Array.every ()

این مثال بررسی می کند که آیا همه مقادیر بیش از 18 است:

مثال

var numbers = [45, 4, 9, 16, 25];
var allOver18 = numbers.every(myFunction);

function myFunction(value) {
  return value > 18;
}

آرایه. بعضی ()

این مثال بررسی می کند برخی از مقادیر بیش از 18 باشد:

مثال

var numbers = [45, 4, 9, 16, 25];
var allOver18 = numbers.some(myFunction);

function myFunction(value) {
  return value > 18;
}

Array.indexOf ()

یک آرایه را برای مقدار عنصر جستجو کنید و موقعیت آن را برمی گرداند.

مثال

var fruits = ["Banana", "Orange", "Apple", "Mango"];
var a = fruits.indexOf("Apple");

Array.lastIndexOf ()

Array.lastIndexOf()همان است Array.indexOf()، اما از انتهای آرایه جستجو می کند.

مثال

var fruits = ["Banana", "Orange", "Apple", "Mango"];
var a = fruits.lastIndexOf("Apple");

JSON.parse ()

استفاده متداول از JSON دریافت داده از سرور وب است.

تصور کنید این رشته متنی را از یک سرور وب دریافت کرده اید:

'{"name":"John", "age":30, "city":"New York"}'

از تابع JavaScript JSON.parse()برای تبدیل متن به یک شی JavaScript استفاده می شود:

var obj = JSON.parse('{"name":"John", "age":30, "city":"New York"}');

JSON.stringify ()

استفاده معمول از JSON ارسال داده ها به یک وب سرور است.

هنگام ارسال داده به سرور وب ، داده باید یک رشته باشد.

تصور کنید این شی object را در JavaScript داریم:

var obj = {name:"John", age:30, city:"New York"};

از تابع JavaScript JSON.stringify()برای تبدیل آن به رشته استفاده کنید.

var myJSON = JSON.stringify(obj);

نتیجه یک رشته به دنبال علامت JSON خواهد بود.

myJSON اکنون یک رشته است و آماده ارسال به سرور است:

مثال

var obj = {name:"John", age:30, city:"New York"};
var myJSON = JSON.stringify(obj);
document.getElementById("demo").innerHTML = myJSON;

تاریخ. اکنون ()

Date.now() تعداد میلی ثانیه از تاریخ صفر (1 ژانویه 1970 00:00:00 UTC) را برمی گرداند.

مثال

var timInMSs = Date.now();

Date.now()همان getTime () انجام شده بر روی یک Dateشی را برمی گرداند .

در JS Dates بیشتر بیاموزید .


Date.toISOString ()

این toISOString()روش با استفاده از قالب استاندارد ISO یک شی Date را به یک رشته تبدیل می کند:

مثال

const d = new Date();
document.getElementById("demo").innerHTML = d.toISOString();

Date.toJSON ()

Date.toJSON() یک شی Date را به یک رشته تبدیل می کند ، قالب قالب تاریخ JSON.

تاریخ های JSON همان قالب استاندارد ISO-8601 را دارند: YYYY-MM-DDTHH: mm: ss.sssZ:

مثال

d = new Date();
document.getElementById("demo").innerHTML = d.toJSON();

گیرنده ها و تنظیم کنندگان املاک

ES5 به شما اجازه می دهد تا روش های شی را با نحوی تعریف کنید که به نظر می رسد گرفتن یا تنظیم ویژگی است.

این مثال برای خصوصیاتی به نام fullName یک گیرنده ایجاد می کند :

مثال

// Create an object:
var 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;

این مثال برای ویژگی زبان تنظیم کننده و گیرنده ایجاد می کند :

مثال

var person = {
  firstName: "John",
  lastName : "Doe",
  language : "NO",
  get lang() {
    return this.language;
  },
  set lang(value) {
    this.language = value;
  }
};

// Set an object property using a setter:
person.lang = "en";

// Display data from the object using a getter:
document.getElementById("demo").innerHTML = person.lang;

این مثال از یک تنظیم کننده برای ایمن سازی به روزرسانی های بزرگ حروف زبان استفاده می کند:

مثال

var 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;

Object.defineProperty ()

Object.defineProperty() یک روش جدید شی در ES5 است.

این به شما امکان می دهد یک خاصیت شی را تعریف کنید و / یا مقدار و یا فراداده یک ملک را تغییر دهید.

مثال

// Create an Object:
var person = {
  firstName: "John",
  lastName : "Doe",
  language : "NO",
};

// Change a Property:
Object.defineProperty(person, "language", {
  value: "EN",
  writable : true,
  enumerable : true,
  configurable : true
});

// Enumerate Properties
var txt = "";
for (var x in person) {
  txt += person[x] + "<br>";
}
document.getElementById("demo").innerHTML = txt;

مثال بعدی همان کد است ، با این تفاوت که ویژگی زبان را از شمارش پنهان می کند:

مثال

// Create an Object:
var person = {
  firstName: "John",
  lastName : "Doe",
  language : "NO",
};

// Change a Property:
Object.defineProperty(person, "language", {
  value: "EN",
  writable : true,
  enumerable : false,
  configurable : true
});

// Enumerate Properties
var txt = "";
for (var x in person) {
  txt += person[x] + "<br>";
}
document.getElementById("demo").innerHTML = txt;

این مثال یک تنظیم کننده و یک گیرنده برای ایجاد امنیت در به روزرسانی های بزرگ حروف ایجاد می کند:

مثال

/// Create an Object:
var person = {
  firstName: "John",
  lastName : "Doe",
  language : "NO"
};

// Change a Property:
Object.defineProperty(person, "language", {
  get : function() { return language },
  set : function(value) { language = value.toUpperCase()}
});

// Change Language
person.language = "en";

// Display Language
document.getElementById("demo").innerHTML = person.language;

روش های شی E E5

ES5 روشهای جدید Object را به JavaScript اضافه کرد:

مدیریت اشیا

// Create object with an existing object as prototype
Object.create(parent, donor)

// Adding or changing an object property
Object.defineProperty(object, property, descriptor)

// Adding or changing object properties
Object.defineProperties(object, descriptors)

// Accessing Properties
Object.getOwnPropertyDescriptor(object, property)

// Returns all properties as an array
Object.getOwnPropertyNames(object)

// Accessing the prototype
Object.getPrototypeOf(object)

// Returns enumerable properties as an array
Object.keys(object)

محافظت از اشیا

// Prevents adding properties to an object
Object.preventExtensions(object)

// Returns true if properties can be added to an object
Object.isExtensible(object)

// Prevents changes of object properties (not values)
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)

با کاما عقب

ES5 با استفاده از ویرگول در تعاریف شی و آرایه اجازه می دهد:

مثال اشیا

person = {
  firstName: "John",
  lastName: " Doe",
  age: 46,
}

مثال آرایه

points = [
  1,
  5,
  10,
  25,
  40,
  100,
];

هشدار !!!

JSON اجازه استفاده از ویرگول را نمی دهد.

اشیا J JSON:

// Allowed:
var person = '{"firstName":"John", "lastName":"Doe", "age":46}'
JSON.parse(person)

// Not allowed:
var person = '{"firstName":"John", "lastName":"Doe", "age":46,}'
JSON.parse(person)

آرایه های JSON:

// Allowed:
points = [40, 100, 1, 5, 25, 10]

// Not allowed:
points = [40, 100, 1, 5, 25, 10,]

منبع

مطالب مرتبط

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