sandra-larsson
Educator Fullstack Developer Javascript at Chas Academy
JavaScript
(oavsett programspråk)
{
PROPERTIES:
username
password
email
METHODS:
login(username, pwd) {
//Logisk för login
}
createPost(str) {
// Logik för att
// skapa inlägg
}
}{
PROPERTIES:
username = "Fritioff"
password = "123"
email = fritt@tech.com
METHODS:
login(username, pwd) {
//Logisk för login
}
createPost(str) {
// Logik för att
// skapa inlägg
}
}{
PROPERTIES:
username = "Barbara"
password = "456"
email = barba@tech.com
METHODS:
login(username, pwd) {
//Logisk för login
}
createPost(str) {
// Logik för att
// skapa inlägg
}
}För att inte upprepa oss i kod kan vi låta objekt ärva egenskaper
och metoder från andra objekt
{
PROPERTIES:
username
password
email
METHODS:
login(username, pwd) {
//Logisk för login
}
createPost(str) {
// Logik för att
// skapa inlägg
}
}{
PROPERTIES:
username
password
email
permissions
METHODS:
login(username, pwd) {
//Logisk för login
}
createPost(str) {
// Logik för att
// skapa inlägg
}
deleteUser(user) {
// Logik för att ta bort
}
}Hänvisar till att olika typer av objekt kan implementera samma
egenskap och/eller metoder men att de också kan implementera
egna specifika varianter av dessa.
class Song {
constructor(title, artist, duration) {
this.title = title; // "this" refererar till det nya objektet
this.artist = artist;
this.duration = duration;
}
play() {
console.log(`Now playing: ${this.title} by ${this.artist}`);
}
stop() {
console.log(`${this.title} by ${this.artist} stopped`);
}
}
const song1 = new Song("Hallelujah", "Jeff Buckley", 300);
const song2 = new Song("Shape of You", "Ed Sheeran", 240);
const song3 = new Song("Blinding Lights", "The Weeknd", 300);
console.log(song1);
console.log(song2);
console.log(song3);
song1.play();
song1.stop();Egenskaper
Metoder
Instans
Konstruktorn
Metoden för instansen anropas
En konstruktor i JavaScript är en speciell metod som automatiskt körs när du skapar ett nytt objekt från en klass. Den används för att:
class Song {
constructor(title, artist, duration) {
this.title = title; // "this" refererar till det nya objektet
this.artist = artist;
this.duration = duration;
}
...
}this i JavaScript är ett nyckelord som refererar till det objekt som för närvarande "äger" eller exekverar koden.
class Person {
constructor(namn) {
this.namn = namn; // this = det nya objektet
}
hälsa() {
console.log(`Hej, jag är ${this.namn}`);
// this = objektet som anropar metoden
}
}
const anna = new Person("Anna");
anna.hälsa(); // this = annaSkapa den underliggande koden för ett receptprogram!
# JS OOP
class Square {
constructor(side) {
this.side = side;
}
findPerimeter() {
return 4 * this.side;
}
static comparePerimeter(square1, square2) {
if (square1.side > square2.side) {
console.log("First square has more perimeter");
} else if (square1.side < square2.side) {
console.log("Second square has more perimeter");
} else {
console.log("Both have same perimeter");
}
}
}
let square1 = new Square(3);
let square2 = new Square(7);
Square.comparePerimeter(square1, square2);class Car {
constructor(brand) {
this.carname = brand;
}
present() {
return 'I have a ' + this.carname;
}
}
class Model extends Car {
constructor(brand, model) {
super(brand);
this.model = model;
}
show() {
return this.present() + ', it is a ' + this.model;
}
}
const mycar = new Model("Ford", "Mustang");
# PRESENTING CODE
class ClassWithPrivate {
#privateField;
#privateFieldWithInitializer = 42;
#privateMethod() {
// ...
}
}För att göra en egenskap eller metod privat lägger du till # innan namnet.
Getters och Setters används ofta i Klasser. Om du vill lägga till
getters och setters i klassen använder du nyckelorden get och set.
class Car {
constructor(brand) {
this.carname = brand;
}
get name() {
return this.carname;
}
set name(x) {
this.carname = x;
}
}By sandra-larsson