Ushbu ochiq manbali loyihani butun dunyo bo'ylab odamlar uchun taqdim etmoqchimiz.

Ushbu qo'llanmaning mazmuni sizning tilingizga tarjima qilishga yordam bering!

darsga qaytish

Obyektda "this" dan foydalanish

Bu erda makeUser funktsiyasi obyektni qaytaradi.

ref ga kirish natijasi qanday? Nima uchun?

function makeUser() { return { name: "John", ref: this, }; } let user = makeUser(); alert(user.ref.name); // Natijasi nma?

Javob: xato

Try it:

function makeUser() { return { name: "John", ref: this, }; } let user = makeUser(); alert(user.ref.name); // Error: Cannot read property 'name' of undefined

Buning sababi, this ni belgilaydigan qoidalar obyektlar soniga qarab bo’lmaydi.

makeUser() ichidagi this" qiymati undefined, chunki u usul sifatida emas, balki funktsiya sifatida chaqirilgan.

Obyektning o’zi this ga ta’sir qilmaydi. this ning qiymati butun funktsiya uchun bitta, kod bloklari va obyektlar unga ta’sir qilmaydi.

Shunday qilib, ref: bu aslida joriy funktsiyani this ni oladi.

Qarama-qarshi holat:

function makeUser() { return { name: "John", ref() { return this; } }; } let user = makeUser(); alert( user.ref().name ); // John

Endi u ishlaydi, chunki user.ref() bu usul. Va this ning qiymati obyektga nuqtadan . oldin o’rnatiladi.