Vergleich von JavaScript-Objekten und Ruby-Klassen

** 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

Vergleich von JavaScript-Objekten und Ruby-Klassen
[Ruby] Klassen und Instanzen
Ruby-Klassen und -Instanzen
[Ruby] Singuläre Methoden und singuläre Klassen
Informationen zu Ruby-Klassen und -Instanzen
Äquivalenter Vergleich von Java-Wrapper-Klasse und primitivem Typ
Ruby-Methoden und -Klassen (grundlegend)
Erstellen von Ruby-Klassen und -Instanzen
Vergleich des Schreibens von Callback-Funktionen (Java, JavaScript, Ruby)
Vergleich von Android Handler Looper und runOnUiThread
Zusammenfassung der Hashes und Symbole in Ruby
Gründlicher Vergleich von Android- und iOS-Implementierungen
[Java / Swift] Vergleich von Java-Schnittstelle und Swift-Protokoll
[Ruby] Schleifenunterscheidung und Verwendung in Ruby
Schreiben Sie Code mit Ruby-Klassen und -Instanzen
Sortieren Sie ein Array von Ruby Homebrew-Klassen
Chrome59 Vergleich von Normal- und Headless-Modus
Unterschiede beim Schreiben von Java-, C # - und Javascript-Klassen
Grundlagen von Ruby
Ruby on Rails ~ Grundlagen von MVC und Router ~
Java und JavaScript
Rubin und Edelstein
Der Vergleich von enum ist == und gleich ist gut [Java]
Unterschiede zwischen Klassen und Instanzen in Ruby
Eine grobe Anmerkung zu Ruby-Arrays und Hash-Objekten
Verwendbarkeit von Datums- und Zeitklasse in jeder Sprache
[Technisches Memo] Über die Vor- und Nachteile von Ruby
[Ruby] Klassenverschachtelung, Vererbung und die Grundlagen des Selbst
Umgang mit Datum und Uhrzeit in Ruby. Verwenden Sie Datum und Uhrzeit richtig.
Symbole und zerstörerischer Rubin
Java-Klasse, Instanz, Objekt
HashMap- und HashSet-Klassen
[Ruby] Big Decimal und DECIMAL
Über Klassen und Instanzen
[Java] Vergleich von Zeichenketten und && und ||
veränderliche und unveränderliche Objekte
Quelle zellulärer Objekte
Definition der Rubinmethode
Ruby-Vererbung und -Delegierung
Liste und fröhliche Klassen
Java (Klasse und Instanz)
[Für Anfänger] Erläuterung von Klassen, Instanzen und Statik in Java
[Java] Vergleichsmethode für Zeichenketten und Vergleichsmethode mit regulären Ausdrücken
[Ruby] Fragen und Überprüfung der Anzahl der Methodenargumente
Das n-te und n + 1-Zeichen einer Ruby-Zeichenfolge
[Ruby on Rails] Einfache Scroll-Animation von Javascript (mit ScrollReveal.js)
Impressionen und Erinnerungen an die Installation von OpenSL, Curl, Ruby, Homebrew und Rbenv
Installieren Sie Ruby 3.0.0 Preview 1 mit einer Kombination aus Homebrew und rbenv
Der Unterschied zwischen der Programmierung mit Ruby-Klassen und der Programmierung ohne Ruby-Klassen