** Vergleichen Sie JavaScript-Objekte mit Ruby-Klassen. ** ** **
class Fruits
def initialize(name, color)
@name = name
@color = color
end
def info
puts "#{@name}Ist#{@color}ist."
end
end
apple = Fruits.new("Apfel", "rot")
apple.info
#Ausgabeergebnis:Der Apfel ist rot.
Ich werde versuchen, die obige Ruby-Beschreibung auf meine eigene Weise in die JavaScript-Beschreibung umzuwandeln. (Bitte verzeihen Sie mir, wenn es eine einfachere Beschreibung gibt.) Weil Methoden in JavaScript Funktionen sind ...
const Fruits = function(name, color){ //Formelles Argument
this.name = name //this.Aber@Ich möchte es als Alternative zu sehen.
this.color = color
this.getName = function(){ return this.name } //Rückgabe, die in Ruby weggelassen werden könnte, ein Fehler tritt auf, wenn sie in JavaScript weggelassen wird.
this.getColor = function(){ return this.color }
}
const apple = new Fruits('Apfel', 'rot') //Tatsächliches Argument//Instanzgenerierung
console.log(`${apple.getName()}Ist${apple.getColor()}ist.`) //console.logがputsの代替ist.
//Beispiel.Aufruf nach Funktionsausdrucksname.()Wenn dies nicht der Fall ist, tritt ein Fehler auf.
//Ausgabeergebnis:Der Apfel ist rot.
Die folgende Beschreibung ist jedoch in JavaScript möglich.
const Fruits = function(name, color){
this.name = name
this.color = color
}
const apple = new Fruits('Apfel', 'rot')
console.log(`${apple.name}Ist${apple.color}ist.`)
//Ausgabeergebnis:Der Apfel ist rot.
Der Wert der Instanzvariablen im definierten Ruby kann außerhalb des Objekts ausgegeben werden. Wenn Sie dies durch die Beschreibung von Ruby ersetzen, verwenden Sie einen Getter, und die Beschreibung lautet wie folgt.
class Fruits
def initialize(name, color)
@name = name
@color = color
end
def name
@name
end
def color
@color
end
end
apple = Fruits.new("Apfel", "rot")
puts "#{apple.name}Ist#{apple.color}ist."
#Ausgabeergebnis:Der Apfel ist rot.
Das ist alles.
Danke, dass du bis zum Ende zugesehen hast.
Wir wären Ihnen dankbar, wenn Sie auf Fehler oder Unwissenheit hinweisen könnten.
Recommended Posts