• Spread operatori
  • JavaScript Kirish




    Download 83,24 Kb.
    bet13/13
    Sana22.05.2024
    Hajmi83,24 Kb.
    #249890
    1   ...   5   6   7   8   9   10   11   12   13
    Bog'liq
    Js kitob

    Object Clon Qilish


    JavaScriptda obyektni klonlashning bir nechta usullari mavjud. Bu usullar orqali obyektlarni nusxalash va o'zgartirishlardan tashqari xususiyatlarni saqlash mumkin.
    1. Object.assign() metodi: Bu metoddan foydalanib obyektlarni nusxalash mumkin. Object.assign() metodi birinchi argument sifatida bo'sh obyekt, ikkinchi argument sifatida esa nusxa olinadigan obyekt beriladi. Misol uchun:
    let originalObj = { name: "John", age: 30 };
    let clonedObj = Object.assign({}, originalObj);
    console.log(clonedObj);
    nateja: { name: "John", age: 30 }
    2. Spread operatori: JavaScriptning yangi versiyalarida spread operatori yordamida obyektlarni nusxalash ham amalga oshiriladi. Spread operatori (...) obyektni barcha xususiyatlari bilan yangi obyektga nusxalaydi. Misol uchun:
    let originalObj = { name: "John", age: 30 };
    let clonedObj = { ...originalObj };
    console.log(clonedObj);
    nateja: { name: "John", age: 30 }
    3. JSON.stringify() va JSON.parse() metodi: Bu usul JSON formatida obyektlarni nusxalash uchun ishlatiladi. JSON.stringify() metodi obyektni JSON formatiga o'giradi, keyin esa JSON.parse() metodi yordamida JSON formatidagi obyektni JavaScript obyektiga aylantiradi. Misol uchun:
    let originalObj = { name: "John", age: 30 };
    let clonedObj = JSON.parse(JSON.stringify(originalObj));
    console.log(clonedObj);
    nateja: { name: "John", age: 30
    4. Obyektning xususiyatlarini yangi obyektga nusxa olish. Bunda, obyektning har bir xususiyati alohida nusxa olinishi kerak.
    let obj = { user: "John" };
    let objClon = {};
    for (key in obj) {
    objClon[key] = obj[key];}
    objClon.user = "Bob";
    console.log(obj); nateja: {user: 'John'}
    console.log(objClon); nateja: {user: 'Bob'}
    Download 83,24 Kb.
    1   ...   5   6   7   8   9   10   11   12   13




    Download 83,24 Kb.