• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Feedback gewünscht gehört Bezeichner class zu Javascript ?

bernhartdiener

Neues Mitglied
Hallo allerseits,

1)
in
https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Klassen
wird behauptet, dass in Javascript folgendes möglich ist:

class Polygon {
constructor(hoehe, breite) {
this.hoehe = hoehe;
this.breite = breite;
}

get flaeche() {
return this.berechneFlaeche();
}

berechneFlaeche() {
return this.hoehe * this.breite;
}
}

In vielen anderen Quellen wird gesagt, dass der Bezeichner class nicht zu Javascript ghört.
Wer hat Recht ?

2)
Ich würde gerne mit Javascript objektorientiert arbeiten.
Wer kann mair dazu eine kostenlose Quelle im Internet nennen ?

mfg
BH
 
Werbung:
Vielen Dank für deine Antwort.
Gibt es ein paar einfache Demo-Programme, in denen class verwendet wird.
Ich will sie benutzen, um selbst ein Programm zu schreiben.
Kannst du mir eine Quelle dazu nennen ?

mfg
BH
 
Werbung:
Das nennt sich Tutorials und davon finden sich etliche per Google.

In dem obigen Link gibt es das Programm
demo1.js:
=================
class Polygon {
constructor(hoehe, breite) {
this.hoehe = hoehe;
this.breite = breite;
}

get flaeche() {
return this.berechneFlaeche();
}

berechneFlaeche() {
return this.hoehe * this.breite;
}
}

const quadrat = new Polygon(10, 10);

console.log(quadrat.flaeche);
================

mit meiner

html-Datei:

==============
<html>
<head>
<script src="p5.min.js"></script>
<script src="demo1.js"></script>
</head>
<body>
</body>
</html>
==============

gibt jede Menge Fehler:


=============
Versuch, eine verbotene Kopfzeile zu verwenden, wurde abgelehnt: Connection (unbekannt)
unreachable code after return statement js:69:1216
Versuch, eine verbotene Kopfzeile zu verwenden, wurde abgelehnt: Connection (unbekannt)
Diese Website verwendet anscheinend einen scroll-verknüpften Positionierungseffekt. Dies könnte mit asynchronem Verschieben (Panning) schlecht zusammenspielen; siehe https://developer.mozilla.org/docs/Mozilla/Performance/ScrollLinkedEffects für weitere Details und nehmen Sie an der Diskussion über damit verbundene Werkzeuge und Funktionen teil! gehoert-bezeichner-class-zu-javascript.58575
Versuch, eine verbotene Kopfzeile zu verwenden, wurde abgelehnt: Connection (unbekannt)
Leerer String an getElementById() übergeben. rs=AFB8gswtMdQ8mg9zWsC6aw2f1ibATWqh_w:424:143
Versuch, eine verbotene Kopfzeile zu verwenden, wurde abgelehnt: Connection (unbekannt)
Content Security Policy: Ignorieren von "'unsafe-inline'" innerhalb script-src: 'strict-dynamic' angegeben
...
==============


Frage:
Kann mir jemand ein einfaches Demo-Programm mit Klassen geben ?


mfg
BH
 
Der Fehler kommt wohl eher von wo anders.
Entweder Müllplugin installiert oder das p5.min.js produziert diesen Fehler.

Was du dir von einem Demoprogramm erhoffst kann ich leider nicht nachvollziehen, aber hier mal deine Klasse in funktionierend.
https://jsfiddle.net/06cbza1v/5/
 
Werbung:
Danke für deine Antwort.
>
>Der Fehler kommt wohl eher von wo anders.
>Entweder Müllplugin installiert oder das p5.min.js
>produziert diesen Fehler.
>
ich glaube nicht, denn Folgendes (habe ich aus einer C'T Zeitung) funktioniert (aber leider ohne class)

hier die html-Datei:
-------------------------------
<html>
<head>
<script src="p5.min.js"></script>
<script src="games.js"></script>
</head>
<body>
</body>
</html>
-------------------------------

und hier: games.js
------------------------------------
var ctBall;
var canvasWidth=1080/3;
var canvasHeight=1920/3;
var ballSize=canvasHeight/15;

function setup(){
createCanvas(canvasWidth,canvasHeight);
noStroke();
ctBall=new CtBall();
}

function draw(){
background(0,136,255);
ctBall.show();
}

function CtBall(){
this.x=canvasWidth/2;
this.y=canvasHeight/2;
this.speed=0;
this.acceleration=1;
this.show=function(){
this.speed += this.acceleration;
this.y += this.speed;
if(this.y > (canvasHeight-ballSize/2) && this.speed > 0){
this.jump();
}
fill(252,233,3);
ellipse(this.x, this.y, ballSize, ballSize);
}
this.jump=function(){
this.speed=this.speed * -0.9;
console.log(this.speed);
}

}
-------------------------------
 
Zurück
Oben