Skip to content

JavaScript 2009 (ES5)

ECMAScript 2009

JavaScript ga birinchi asosiy qayta ko'rish.

ECMAScript 2009 ES5 nomi bilan ham taniladi.

ES5 xususiyatlari

XususiyatTavsif
"use strict"Kodni "qat'iy rejim" da bajarishga imkon beradi
String [] kirishSatrdagi belgilangan indeksdagi belgini qaytaradi
Ko'p qatorli satrlarAgar \ bilan qochilsa satrlarni bir nechta qatorga yoyishga imkon beradi
String.trim()Satrning har ikki tomonidagi bo'sh joylarni olib tashlaydi
Array.isArray()O'zgaruvchi massiv bo'lsa true qaytaradi
Array forEach()Har bir massiv elementi uchun funksiya chaqiradi
Array map()Har bir elementda funksiya bajarish orqali yangi massiv yaratadi
Array filter()Testdan o'tgan elementlardan massiv yaratadi
Array reduce()Massivni bitta qiymatga kamaytiradi (chapdan)
Array reduceRight()Massivni bitta qiymatga kamaytiradi (o'ngdan)
Array every()Barcha massiv qiymatlari testdan o'tganligini tekshiradi
Array some()Ba'zi qiymatlar testdan o'tganligini tekshiradi
Array indexOf()Element qiymatini qidiradi va uning o'rnini qaytaradi
Array lastIndexOf()Element qiymatini qidiradi va uning o'rnini qaytaradi
JSON.parse()JSON ni JavaScript obyektga aylantiradi
JSON.stringify()JSON ni satrga aylantiradi
Date.now()Nol sanadan beri o'tgan millisekundlar sonini qaytaradi
Date toISOString()Sana obyektini ISO satrga aylantiradi
Date toJSON()Sana obyektini JSON satrga aylantiradi
Xususiyat getter'larXususiyat qiymatini olish usulini aniqlashga imkon beradi
Xususiyat setter'larXususiyat qiymatini o'rnatish usulini aniqlashga imkon beradi
Zaxira so'zlarXususiyat nomlari sifatida zaxira so'zlarga ruxsat beradi
Object.create()Mavjud obyektdan obyekt yaratadi
Object.keys()Obyektning kalitlari bilan massiv qaytaradi
Obyekt boshqaruviObyekt boshqaruv metodlari
Obyekt himoyasiObyekt himoya metodlari
Object.defineProperty()Obyekt xususiyatlarini aniqlash yoki o'zgartirishga imkon beradi
Function bind()Obyektlarga boshqa obyektlardan metodlarni qarzga olishga imkon beradi
Oxirgi vergullarObyekt va massiv ta'riflarida oxirgi vergullarga ruxsat beradi

JavaScript 2009 barcha zamonaviy brauzerlarda 2013-yil iyul dan beri qo'llab-quvvatlanadi.


"use strict" direktivasi

"use strict" JavaScript kodining "qat'iy rejim" da bajarilishi kerakligini aniqlaydi. Qat'iy rejimda, masalan, e'lon qilinmagan o'zgaruvchilarni ishlata olmaysiz.

Eslatma

Qat'iy rejimni barcha dasturlaringizda ishlatishingiz mumkin. Bu sizga toza kod yozishga yordam beradi. "use strict" shunchaki satr ifodasi. Eski brauzerlar uni tushunmasalar xato chiqarmaydi.


Satrlarda xususiyat kirish

charAt() metodi satrdagi belgilangan indeks (pozitsiya) dagi belgini qaytaradi:

js
let str = 'HELLO WORLD'
str.charAt(0) // H qaytaradi

ES5 satrlarda xususiyat kirishga ruxsat beradi:

js
let str = 'HELLO WORLD'
str[0] // H qaytaradi

Ko'p qatorli satrlar

ES5 teskari chiziq bilan qochilsa satr literallarini bir nechta qatorga yoyishga ruxsat beradi:

js
'Hello \
Dolly!'

Satr literalini bo'lishning xavfsizroq usuli satr qo'shishdan foydalanishdir:

js
'Hello ' + 'Dolly!'

Xususiyat nomlari sifatida zaxira so'zlar

ES5 xususiyat nomlari sifatida zaxira so'zlarga ruxsat beradi:

js
let obj = { name: 'John', new: 'yes' }

String trim()

trim() metodi satrning har ikki tomonidagi bo'sh joylarni olib tashlaydi.

js
let str = '       Hello World!       '
alert(str.trim())

Array.isArray()

isArray() metodi obyekt massiv ekanligini tekshiradi.

js
const fruits = ['Banana', 'Orange', 'Apple', 'Mango']

result = Array.isArray(fruits)

Array forEach()

forEach() metodi har bir massiv elementi uchun bir marta funksiya chaqiradi.

js
const numbers = [45, 4, 9, 16, 25]

numbers.forEach(myFunction)

Array map()

map() metodi har bir massiv elementida funksiya bajarish orqali yangi massiv yaratadi.

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

function myFunction(value) {
  return value * 2
}

Array filter()

filter() metodi testdan o'tgan massiv elementlaridan yangi massiv yaratadi.

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

function myFunction(value) {
  return value > 18
}

Array reduce()

reduce() metodi massivni bitta qiymatga kamaytiradi.

js
const numbers = [45, 4, 9, 16, 25]
let sum = numbers.reduce(myFunction)

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

Array reduceRight()

reduceRight() metodi massivni bitta qiymatga kamaytiradi (o'ngdan chapga).

js
const numbers1 = [45, 4, 9, 16, 25]
let sum = numbers1.reduceRight(myFunction)

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

Array every()

every() metodi barcha massiv qiymatlari testdan o'tganligini tekshiradi.

js
const numbers = [45, 4, 9, 16, 25]
let allOver18 = numbers.every(myFunction)

function myFunction(value) {
  return value > 18
}

Array some()

some() metodi ba'zi massiv qiymatlari testdan o'tganligini tekshiradi.

js
const numbers = [45, 4, 9, 16, 25]
let allOver18 = numbers.some(myFunction)

function myFunction(value) {
  return value > 18
}

Array indexOf()

indexOf() metodi element qiymatini qidiradi va uning pozitsiyasini qaytaradi.

js
const fruits = ['Apple', 'Orange', 'Apple', 'Mango']
let position = fruits.indexOf('Apple') + 1

Array lastIndexOf()

lastIndexOf() indexOf() bilan bir xil, lekin massiv oxiridan qidiradi.

js
const fruits = ['Apple', 'Orange', 'Apple', 'Mango']
let position = fruits.lastIndexOf('Apple') + 1

JSON.parse()

JSON-ning keng tarqalgan ishlatilishi veb-serverdan ma'lumot olishdir.

js
const txt = '{"name":"John", "age":30, "city":"New York"}'

const myObj = JSON.parse(txt)

JSON.stringify()

JSON-ning keng tarqalgan ishlatilishi veb-serverga ma'lumot yuborishdir. Veb-serverga ma'lumot yuborilayotganda, ma'lumot satr bo'lishi kerak.

js
const myObj = { name: 'John', age: 30, city: 'New York' }
const myJSON = JSON.stringify(myObj)

Date.now()

Date.now() nol sanadan (1970-yil 1-yanvar 00:00:00 UTC) beri o'tgan millisekundlar sonini qaytaradi.

js
let timInMSs = Date.now()

Date toISOString()

toISOString() metodi Sana obyektini ISO standart formatidan foydalanib satrga aylantiradi.

js
const d = new Date()
document.getElementById('demo').innerHTML = d.toISOString()

Date toJSON()

toJSON() Sana obyektini JSON sana sifatida formatlangan satrga aylantiradi.

js
d = new Date()
document.getElementById('demo').innerHTML = d.toJSON()

Xususiyat getter'lari

Xususiyat getter — xususiyat qiymatiga kirilganda uni olish usulini aniqlashga imkon beruvchi metod.

js
const Person = {
  firstName: 'John',
  lastName: 'Doe',
  get fullName() {
    return this.firstName + ' ' + this.lastName
  }
}

document.getElementById('demo').innerHTML = Person.fullName

Xususiyat setter'lari

Xususiyat setter — xususiyat qiymatini o'rnatish usulini aniqlashga imkon beruvchi metod.

js
const Person = {
  firstName: 'John',
  lastName: 'Doe',
  language: 'NO',
  set lang(value) {
    this.language = value.toUpperCase()
  }
}

Person.lang = 'en'

Object.defineProperty()

Object.defineProperty() ES5 dagi yangi Object metodi. U obyekt xususiyatini aniqlash va/yoki xususiyat qiymati va/yoki metama'lumotlarini o'zgartirish imkonini beradi.

js
const person = {
  firstName: 'John',
  lastName: 'Doe',
  language: 'NO'
}

Object.defineProperty(person, 'language', {
  value: 'EN',
  writable: true,
  enumerable: true,
  configurable: true
})

Object.create()

Object.create() metodi mavjud obyektdan obyekt yaratadi.

js
const person = {
  firstName: 'John',
  lastName: 'Doe'
}

const man = Object.create(person)
man.firstName = 'Peter'

Object.keys()

Object.keys() metodi obyektning kalitlari bilan massiv qaytaradi.

js
const person = {
  firstName: 'John',
  lastName: 'Doe',
  age: 50,
  eyeColor: 'blue'
}

const keys = Object.keys(person)

Obyekt boshqaruvi

ES5 JavaScript-ga yangi obyekt boshqaruv metodlarini qo'shdi:

js
// Obyekt xususiyatini qo'shish yoki o'zgartirish
Object.defineProperty(object, property, descriptor)

// Obyekt xususiyatlarini qo'shish yoki o'zgartirish
Object.defineProperties(object, descriptors)

// Xususiyatga kirish
Object.getOwnPropertyDescriptor(object, property)

// Xususiyatlarga kirish
Object.getOwnPropertyDescriptors(object)

// Barcha xususiyatlarni massiv sifatida qaytaradi
Object.getOwnPropertyNames(object)

// Prototipga kirish
Object.getPrototypeOf(object)

Obyekt himoyasi

ES5 JavaScript-ga obyekt himoya metodlarini qo'shdi:

js
// Obyektga xususiyatlar qo'shishni oldini oladi
Object.preventExtensions(object)

// Obyektga xususiyatlar qo'shilishi mumkinligini qaytaradi
Object.isExtensible(object)

// Obyekt xususiyatlarini o'zgartirishni oldini oladi (qiymatlar emas)
Object.seal(object)

// Obyekt muhrlangan bo'lsa true qaytaradi
Object.isSealed(object)

// Obyektdagi har qanday o'zgarishlarni oldini oladi
Object.freeze(object)

// Obyekt muzlatilgan bo'lsa true qaytaradi
Object.isFrozen(object)

Function bind()

bind() metodi yordamida obyekt boshqa obyektdan metodni qarzga olishi mumkin.

js
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)

Oxirgi vergullar

ES5 obyekt va massiv ta'riflarida oxirgi vergullarga ruxsat beradi:

js
person = {
  firstName: 'John',
  lastName: 'Doe',
  age: 46
}
js
points = [1, 5, 10, 25, 40, 100]

Ogohlantirish

JSON oxirgi vergullarga ruxsat bermaydi.