Yuqorida biz qanday qilib dinamik ravishda ob'ektga yangi xususiyatlarni qo'shishingiz mumkinligini ko'rdik. Shu bilan birga, biz o'chirish operatori yordamida xususiyatlar va usullarni ham o'chirib tashlashimiz mumkin. Va xuddi qo'shish kabi, biz xususiyatlarni ikki usul bilan olib tashlashimiz mumkin. Birinchi usul - nuqta yozuvidan foydalanish:
Object.property-ni o'chirib tashlang
Yoki massivlar sintaksisidan foydalaning:
Ob'ektni o'chirish ["property"]
Masalan, xususiyatni olib tashlaymiz:
Var user \u003d (); user.name \u003d "Tom"; user.age \u003d 26; user.display \u003d function () (console.log (user.name); console.log (user.age);); console.log (user.name); // Tom user.name-ni o'chirib tashlaydi; // xususiyatni o'chirish // muqobil variant // foydalanuvchini o'chirish ["name"]; console.log (user.name); // aniqlanmagan
O'chirilgandan so'ng, xususiyat aniqlanmagan bo'ladi, shuning uchun unga kirishga harakat qilsangiz, dastur aniqlanmagan holda qaytadi.
Ushbu maqolada men JavaScript-dagi ob'ekt nima, uning imkoniyatlari, ob'ektlar o'rtasida qanday munosabatlar o'rnatilishi va bundan qanday qilib "tabiiy" meros olish usullari paydo bo'lishi, bularning barchasi ishlashga qanday ta'sir qilishi va nimalar haqida imkon qadar to'liq va izchil gapirishni istayman. hammasini bajaring :)
Maqolada an'anaviy sinf-ob'ekt paradigmasi, sintaktik shakar, o'ramlar va ramkalarni taqlid qilish haqida bir so'z aytilmaydi.
Maqolaning boshidan oxirigacha materialning murakkabligi oshib boradi, shuning uchun ijobiy tomonlari uchun birinchi qismlar zerikarli va ahamiyatsiz bo'lib tuyulishi mumkin, ammo keyinchalik bu juda ham qiziqroq bo'ladi :)
JavaScript-dagi ob'ektlar
Ko'pgina maqolalarda "JavaScript-da hamma narsa ob'ekt" iborasi mavjud. Texnik jihatdan bu butunlay to'g'ri emas, lekin yangi boshlanuvchilarda to'g'ri taassurot qoldiradi :)
Darhaqiqat, tilda ko'p narsa ob'ektdir, hatto ob'ekt bo'lmagan narsa ham uning ba'zi qobiliyatlariga ega bo'lishi mumkin.
Shuni anglash kerakki, "ob'ekt" so'zi bu erda "ma'lum bir sinf ob'ekti" ma'nosida ishlatilmaydi. JavaScript-dagi ob'ekt, avvalambor, faqat xususiyatlar to'plamidir (agar kimdir uchun osonroq bo'lsa, uni assotsiativ qator yoki ro'yxat deb atashingiz mumkin), bu kalit-qiymat juftlaridan iborat. Bundan tashqari, faqat mag'lubiyat kalit bo'lishi mumkin (hatto qator elementlari uchun ham), lekin qiymat quyida keltirilgan har qanday ma'lumot turi bo'lishi mumkin.
Shunday qilib JavaScript-da 6 ta asosiy turlari ma'lumotlar Undefined (qiymatni bildirmaydi), Null, Boolean (boolean), String (string), Number (number) and Object (object).
Bundan tashqari, dastlabki 5 ta ibtidoiy ma'lumotlar turlari, ammo ob'ekt bunday emas. Bundan tashqari, biz odatiy ravishda Ob'ekt turida "kichik tiplar" mavjud deb taxmin qilishimiz mumkin: massiv (Array), funktsiya (Funksiya), doimiy ifoda (RegExp) va boshqalar.
Bu biroz soddalashtirilgan tavsif, ammo amalda bu odatda etarli.
Bundan tashqari, ibtidoiy qatorlar, son va mantiqiy turlar, ma'lum darajada, moslamaning ibtidoiy bo'lmagan "kichik turlari" bilan bog'liq: satr, raqam va mantiqiy ravishda.
Bu shuni anglatadiki, masalan, "Salom, dunyo" qatori ham ibtidoiy qiymat, ham String ob'ekti sifatida yaratilishi mumkin.
Qisqacha aytganda, bu dasturchi ibtidoiy qadriyatlar bilan ishlashda usul va xususiyatlardan xuddi ob'ektlar kabi foydalanishi uchun amalga oshiriladi. Bu haqda ko'proq ma'lumotni ushbu maqolaning tegishli qismida o'qishingiz mumkin.
Do'stlaringiz bilan baham: |