Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Definere Metoder i JavaScript-Klasser | Mastering JavaScript-klasser og Arv
Avansert JavaScript-mestring

bookDefinere Metoder i JavaScript-Klasser

Nå som vi vet hvordan vi legger til egenskaper ved hjelp av konstruktøren, skal vi se på hvordan vi kan legge til metoder i en klasse.

Definere og bruke klassemåter

Disse metodene opererer vanligvis på objektets egenskaper og gir en måte å samhandle med dataene på.

For å definere en klassemåte, deklarer en funksjon inne i klassen uten å bruke function-nøkkelordet.

class Animal {
  constructor(name, type) {
    this.name = name;
    this.type = type;
  }

  // Class method
  getInfo() {
    return `${this.name} is a ${this.type} animal.`;
  }
}

I dette eksemplet er getInfo en metode i Animal-klassen. Enhver instans av Animal kan kalle denne metoden for å hente informasjon om den aktuelle instansen.

Hvordan metoder er tilknyttet instanser av en klasse

Når du oppretter en instans av en klasse, blir metodene som er definert i klassen automatisk tilgjengelige for den instansen. Disse metodene kan få tilgang til og manipulere instansens egenskaper ved å bruke this-nøkkelordet, som refererer til det nåværende objektet.

Tenk på metoder som verktøy som hvert objekt (instans) har med seg. Hvert objekt har sine egne data (egenskaper), men de deler de samme verktøyene (metodene) for å samhandle med disse dataene.

La oss se på eksemplet:

1234567891011121314151617
class Animal { constructor(name, type) { this.name = name; this.type = type; } // Class method getInfo() { return `${this.name} is a ${this.type} animal.`; } } const lion = new Animal('Lion', 'Wild'); console.log(lion.getInfo()); // Output: Lion is a Wild animal. const pig = new Animal('Pig', 'Domestic'); console.log(pig.getInfo()); // Output: Pig is a Domestic animal.
copy

I dette eksemplet er både lion og pig instanser av Animal-klassen. Metoden getInfo er tilgjengelig for begge, og den returnerer ulike resultater basert på egenskapene til den spesifikke instansen den kalles på. Dette demonstrerer hvordan metoder deles mellom instanser, men opererer på data som er spesifikk for hver enkelt.

Hvorfor bruke klassemåter?

Klassemåter definerer atferd som er spesifikk for objektet. De gjør koden mer modulær, vedlikeholdbar og skaper et tydelig skille mellom ansvarsområder. I stedet for å manipulere objektegenskaper direkte, gir klassemåter en kontrollert måte å samhandle med og endre objektets data på.

Eksempel med en metode som endrer objektets tilstand:

1234567891011121314151617181920
class Animal { constructor(name, type) { this.name = name; this.type = type; } getInfo() { return `${this.name} is a ${this.type} animal.`; } changeType(newType) { this.type = newType; } } const lion = new Animal('Lion', 'Wild'); console.log(lion.getInfo()); // Output: Lion is a Wild animal. lion.changeType('Domestic'); console.log(lion.getInfo()); // Output: Lion is a Domestic animal.
copy

I dette eksemplet lar changeType-metoden deg oppdatere type-egenskapen til objektet. Dette viser hvordan metoder kan kapsle inn logikk som direkte påvirker objektets tilstand.

1. Hva er en klassemetode?

2. Hvordan definerer du en metode kalt speak i en klasse som en instans kan bruke?

3. Hva skriver følgende kode ut?

question mark

Hva er en klassemetode?

Select the correct answer

question mark

Hvordan definerer du en metode kalt speak i en klasse som en instans kan bruke?

Select the correct answer

question mark

Hva skriver følgende kode ut?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 1. Kapittel 4

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Suggested prompts:

Can you explain how to add more methods to a class?

What is the difference between class methods and static methods?

Can you show an example of using multiple methods in a class?

Awesome!

Completion rate improved to 2.22

bookDefinere Metoder i JavaScript-Klasser

Sveip for å vise menyen

Nå som vi vet hvordan vi legger til egenskaper ved hjelp av konstruktøren, skal vi se på hvordan vi kan legge til metoder i en klasse.

Definere og bruke klassemåter

Disse metodene opererer vanligvis på objektets egenskaper og gir en måte å samhandle med dataene på.

For å definere en klassemåte, deklarer en funksjon inne i klassen uten å bruke function-nøkkelordet.

class Animal {
  constructor(name, type) {
    this.name = name;
    this.type = type;
  }

  // Class method
  getInfo() {
    return `${this.name} is a ${this.type} animal.`;
  }
}

I dette eksemplet er getInfo en metode i Animal-klassen. Enhver instans av Animal kan kalle denne metoden for å hente informasjon om den aktuelle instansen.

Hvordan metoder er tilknyttet instanser av en klasse

Når du oppretter en instans av en klasse, blir metodene som er definert i klassen automatisk tilgjengelige for den instansen. Disse metodene kan få tilgang til og manipulere instansens egenskaper ved å bruke this-nøkkelordet, som refererer til det nåværende objektet.

Tenk på metoder som verktøy som hvert objekt (instans) har med seg. Hvert objekt har sine egne data (egenskaper), men de deler de samme verktøyene (metodene) for å samhandle med disse dataene.

La oss se på eksemplet:

1234567891011121314151617
class Animal { constructor(name, type) { this.name = name; this.type = type; } // Class method getInfo() { return `${this.name} is a ${this.type} animal.`; } } const lion = new Animal('Lion', 'Wild'); console.log(lion.getInfo()); // Output: Lion is a Wild animal. const pig = new Animal('Pig', 'Domestic'); console.log(pig.getInfo()); // Output: Pig is a Domestic animal.
copy

I dette eksemplet er både lion og pig instanser av Animal-klassen. Metoden getInfo er tilgjengelig for begge, og den returnerer ulike resultater basert på egenskapene til den spesifikke instansen den kalles på. Dette demonstrerer hvordan metoder deles mellom instanser, men opererer på data som er spesifikk for hver enkelt.

Hvorfor bruke klassemåter?

Klassemåter definerer atferd som er spesifikk for objektet. De gjør koden mer modulær, vedlikeholdbar og skaper et tydelig skille mellom ansvarsområder. I stedet for å manipulere objektegenskaper direkte, gir klassemåter en kontrollert måte å samhandle med og endre objektets data på.

Eksempel med en metode som endrer objektets tilstand:

1234567891011121314151617181920
class Animal { constructor(name, type) { this.name = name; this.type = type; } getInfo() { return `${this.name} is a ${this.type} animal.`; } changeType(newType) { this.type = newType; } } const lion = new Animal('Lion', 'Wild'); console.log(lion.getInfo()); // Output: Lion is a Wild animal. lion.changeType('Domestic'); console.log(lion.getInfo()); // Output: Lion is a Domestic animal.
copy

I dette eksemplet lar changeType-metoden deg oppdatere type-egenskapen til objektet. Dette viser hvordan metoder kan kapsle inn logikk som direkte påvirker objektets tilstand.

1. Hva er en klassemetode?

2. Hvordan definerer du en metode kalt speak i en klasse som en instans kan bruke?

3. Hva skriver følgende kode ut?

question mark

Hva er en klassemetode?

Select the correct answer

question mark

Hvordan definerer du en metode kalt speak i en klasse som en instans kan bruke?

Select the correct answer

question mark

Hva skriver følgende kode ut?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 1. Kapittel 4
some-alt