Я настраиваю конструктор объектов и хотел бы передать объект key/value в качестве параметра. Мне было интересно, что будет правильным способом? Сейчас я просто мимо клавиш в качестве параметров:Передача объектов ключа/значения в качестве параметра в конструкторе Javascript
(function() {
function Venue(name, poor, satisfactory, excellent) {
this.name = name;
this.serviceRatings = {
poor: poor,
satisfactory: satisfactory,
excellent: excellent
};
}
var dining = new Venue("dining", .1, .15, .2);
console.log(dining["serviceRatings"]["satisfactory"] // .15
}());
Хотя это работает, выходя из фона Руби это только было правильно передать сам объект и присвоить ценности это в инициализаторе. Это был лучший эквивалент, который я мог придумать:
class Venue
def initialize(name, serviceRatings = {})
@name = name
@poor = serviceRatings[:poor]
@satisfactory = serviceRatings[:satisfactory]
@excellent = serviceRatings[:excellent]
end
end
Есть ли способ сделать это на Javascript? То, как я теперь писал вещи, заставляет меня чувствовать, что я раздуваю список параметров своего конструктора (если это - - правильный способ сделать это).
может пройти в одном аргумент объекта вместо нескольких примитивов, если это то, о чем вы просите. Не совсем понятно, что вы хотите делать – charlietfl