JavaScripti objektid on andmete struktuurid, mis aitavad hoida seotud andmeid koos. Objektid koosnevad paaridest võti-väärtus, kus võti on string ja väärtus võib olla ükskõik mis andmetüüp. Me kohtame objekte iga päev, näiteks e-poes on toode objekt või hotellis on broneerimine objekt. JS-is on ka sisseehitatud objektid, näiteks Math matemaatika jaoks, Date aegade jaoks, Array ja String.
Siin on näide kuidas luua auto objekt:
let auto = {
mark: "Toyota",
mudel: "Corolla",
aasta: 2022,
varv: "punane",
omadused: ["kliimaseade", "elektriaknad"]
};
console.log(auto);
console.log(auto.mark);
See kood teeb auto objekti. Kui ma kirjutan auto.mark, konsool näitab ainult seda marki.
Objekt võib sisaldada ka funktsioone, mida nimetatakse meetoditeks. Sõna this viitab samale objektile.
let auto = {
mark: "Toyota",
mudel: "Corolla L",
taisnimi: function() {
return this.mark + " " + this.mudel;
}
};
console.log(auto.taisnimi());
See kood kasutab this.mark, mis võtab margi sellest samast objektist.
Siin on minu tehtud kodutöö kood raamatu ja raamatukogu kohta:
let raamat = {
pealkiri: "Kevade",
autor: "Oskar Luts",
aasta: 1912,
kirjeldus() {
return "Raamat on " + this.pealkiri + ", autor on " + this.autor + ", aasta on " + this.aasta;
},
muudaAastat(uus) {
this.aasta = uus;
console.log("Uus aasta on nüüd: " + this.aasta);
}
};
console.log(raamat.kirjeldus());
raamat.muudaAastat(1915);
let raamatukogu = {
raamatud: [
{ pealkiri: "Tõde ja õigus", autor: "Tammsaare", aasta: 1926 },
{ pealkiri: "Rehepapp", autor: "Kivirähk", aasta: 2000 },
{ pealkiri: "Kinnisvara", autor: "Keegi Veel", aasta: 2021 }
],
kuvaKaik() {
this.raamatud.forEach(r => console.log(r.pealkiri));
},
lisaRaamat(p, a, aa) {
this.raamatud.push({ pealkiri: p, autor: a, aasta: aa });
console.log("Lisatud!");
},
naytaKokku() {
console.log("Kokku raamatuid: " + this.raamatud.length);
},
alates2000() {
let uued = this.raamatud.filter(r => r.aasta >= 2000);
console.log("Uusi raamatuid alates 2000 on: " + uued.length);
},
otsiAutori(nimi) {
let res = this.raamatud.filter(r => r.autor.includes(nimi));
console.log("Leidsin autori järgi:", res);
}
};
raamatukogu.kuvaKaik();
raamatukogu.lisaRaamat("Lummatud", "Mingi Autor", 2023);
raamatukogu.naytaKokku();
raamatukogu.alates2000();
raamatukogu.otsiAutori("Tammsaare");
GitHub