Object is a collection of data and related functionality: Objective properties + actions that an object can perform.
A method is a function that belongs to an object — i.e. a function is defined as the value of an object’s properties that can be executed in the context of the object.
what functions are used?
- Defining / modifying an object
- Defining object methods.
- Calling a method in the context of an object.
- Using arrays or object methods
- Creating an object
// objekti loomine
let auto = {
mark: "Toyota",
mudel: "Corolla",
aasta: 2022,
varv: "punane",
lisavarustus: ["kliimaseade", "elektriaknad", "navigatsioonisüsteem"]
};
//väljastamiseks
// F12 brauseris et naidata konsooli
console.log(auto);
Console view:

Object methods and using this
let auto = {
//omadused
mark: "Toyota",
mudel: "Corolla L",
aasta: 2022,
varv: "punane",
omadused: ["kliimaseade", "elektriaknad", "navigatsioonisüsteem"],
//meetodid
taisnimi: function() {
return this.mark + " " + this.mudel;
}
};
console.log(auto.taisnimi());
Console View:

Method Shortening:
let auto = {
//omadused
mark: "BMW",
mudel: "M4A1",
aasta: 2069,
varv: "roheline",
omadused: ["kliimaseade", "elektriaknad", "navigatsioonisüsteem", "plus aura"],
//meetodid
taisnimi() {
return this.mark + " " + this.mudel;
},
kuvaOmadused() {
this.omadused.forEach(omadus => console.log(omadus));
}
};
auto.kuvaOmadused();
Console View:

Objektide massiivi loomine ja kuvamine
let autod = [
{ mark: 'BMW', mudel: 'M4A1', aasta: 2069 },
{ mark: 'Honda', mudel: 'Tsik', aasta: 1900 },
{ mark: 'Tesla', mudel: 'Model MechaHitler', aasta: 2050 }
];
autod.forEach((auto) => {
console.log(`
Mark: ${auto.mark},
Mudel: ${auto.mudel},
Aasta: ${auto.aasta}
`);
});
Console vaade:

Object array methods
näiteks: push(), pop(), shift(), unshift(), splice(), slice(), forEach(), map(), filter(), reduce(), sort(),
let autod = [
{ mark: 'Toyota', mudel: 'Corolla', aasta: 2007 },
{ mark: 'Honda', mudel: 'Civic', aasta: 2012 },
{ mark: 'Tesla', mudel: 'Model 3', aasta: 2019 }
];
//Lisab uue objekti massiivi lõppu push ja unshift abil
autod.push({ mark: 'BMW', mudel: '320i', aasta: 2015 });
autod.unshift({ mark: 'Ford', mudel: 'Focus', aasta: 2020 });
//Eemaldab esimese objekti
autod.splice(0,1);
//Lisab objekti alates teisest indeksist, ei kustutata midagi
autod.splice(1,0,{ mark: 'Audi', mudel: 'A4', aasta: 2018 });

Filtering and searching an array
let autod = [
{ mark: 'Toyota', mudel: 'Corolla', aasta: 2007 },
{ mark: 'Honda', mudel: 'Civic', aasta: 2012 },
{ mark: 'Tesla', mudel: 'Model 3', aasta: 2019 }
];
//Lisab uue objekti massiivi lõppu push ja unshift abil
autod.push({ mark: 'BMW', mudel: '320i', aasta: 2015 });
autod.unshift({ mark: 'Ford', mudel: 'Focus', aasta: 2020 });
//Eemaldab esimese objekti
autod.splice(0,1);
//Lisab objekti alates teisest indeksist, ei kustutata midagi
autod.splice(1,0,{ mark: 'Audi', mudel: 'A4', aasta: 2018 });
//Otsimine
let otsing = autod.find(auto=>auto.aasta > 2018 && auto.mark === "Tesla");
console.log(otsing);
//Filtreerimine
let filter = autod.filter(auto=>auto.aasta > 2012);
console.log(filter);

book object
// Loon objekti 'raamat'
let raamat = {
pealkiri: 'Mein Kampf',
autor: 'Adolf Hitler',
aasta: 1925,
// Meetod, mis kuvab raamatu kirjelduse
kuvaKirjeldus: function() {
console.log(`"${this.pealkiri}" autor on ${this.autor}, avaldatud aastal ${this.aasta}.`);
},
// Meetod, mis muudab väljaandmise aastat
muudaAasta: function(uusAasta) {
this.aasta = uusAasta;
console.log(`Raamatu uus väljaandmise aasta on ${this.aasta}.`);
}
};
let vastus=document.getElementById("vastus");
// Näitame, kuidas meetodeid kasutada:
raamat.kuvaKirjeldus(); // Kuvab algse kirjelduse
raamat.muudaAasta(1933); // Muudab aasta ja kuvab uue
raamat.kuvaKirjeldus(); // Kuvab uuendatud kirjelduse

Library
// Loon objekti 'raamatukogu'
let raamatukogu = {
raamatud: [
{ pealkiri: 'Tõde ja õigus', autor: 'A. H. Tammsaare', aasta: 1926 },
{ pealkiri: 'Harry Potter ja tarkade kivi', autor: 'J. K. Rowling', aasta: 1997 },
{ pealkiri: 'Sapiens', autor: 'Yuval Noah Harari', aasta: 2011 }
],
// Meetod, mis kuvab kõik raamatud kenasti konsoolis
kuvaKoikRaamatud: function() {
let list = document.getElementById("raamatuteList");
list.innerHTML = ''; // tühjenda eelmine sisu
this.raamatud.forEach(r => {
let li = document.createElement("li");
li.className = "raamat";
li.textContent = `"${r.pealkiri}" - ${r.autor} (${r.aasta})`;
list.appendChild(li);
});
},
// Meetod, mis lisab uue raamatu raamatukokku
lisaRaamat: function(pealkiri, autor, aasta) {
this.raamatud.push({ pealkiri, autor, aasta });
console.log(` Raamat "${pealkiri}" on lisatud raamatukokku!`);
},
// Minu enda loodud meetod:
// Näiteks meetod, mis leiab vanima raamatu raamatukogus
leiaVanimRaamat: function() {
let vanim = this.raamatud.reduce((vanim, r) => r.aasta < vanim.aasta ? r : vanim);
console.log(` Vanim raamat on "${vanim.pealkiri}" (${vanim.aasta}) autorilt ${vanim.autor}.`);
}
};
// --- Testime kõiki meetodeid ---
raamatukogu.kuvaKoikRaamatud();
raamatukogu.lisaRaamat('The Martian', 'Andy Weir', 2014);
raamatukogu.leiaVanimRaamat();
