Как создать объект с помощью метода?

218
10 апреля 2018, 05:06

Как создать объект с помощью метода Collection.from() конструктора Collection?

Спасибо за ответы.

function Collection() {}
var letters = Collection.from(['a', 'b', 'c']);
letters instanceof Collection; // true
Answer 1

Создать экземпляр Collection можно с помощью оператора new.

Поэтому в простейшем случае код будет таким:

function Collection() {} 
 
Collection.from = function() { 
  return new Collection(); 
} 
 
console.log(Collection.from([1, 2, 3]) instanceof Collection);

Однако, в этом случае переданный параметр игнорируется, так как никак не используется в конструкторе.

Answer 2
function Collection() {
}

var letters = Collection.from([
{
    id: "1",
    username: "Naida",
    images: "images/basa_user/user1.jpg"
},
{
    id: "2",
    username: "Elijah",
    images: "images/basa_user/user2.jpg"
}
]);
letters instanceof Collection; 
*** Если правильно понял
Answer 3

Это?

function Collection() {} 
 
Collection.from = function(args){ 
  return new Collection(args); 
} 
 
var letters = Collection.from(['a', 'b', 'c']); 
 
console.info(letters instanceof Collection); // true

Можно поинтересоваться зачем?

Answer 4
function Collection() {
}
Collection.from = function (obj) {
  const copy = Object.assign({}, obj); // чтобы не изменять переданный объект
  Object.setPrototypeOf(copy, Collection.prototype)
  return copy;
}
var letters = Collection.from(['a', 'b', 'c']);
console.log(letters instanceof Collection); // true
READ ALSO
Sublime Text 3 вывод дат и alert'a в консоли js

Sublime Text 3 вывод дат и alert'a в консоли js

Как сделать так, чтобы Sublime Text 3 в консоли даты выводил в общем формате по умолчанию (примерно так: Sun Apr 08 2018 18:30:41 GMT+0300 (Московское время (зима))...

192
Динамическое построение графика с Axios+JavaScript+Laravel [требует правки]

Динамическое построение графика с Axios+JavaScript+Laravel [требует правки]

Здравствуйте, уважаемые форумчанеПробую построить динамически обновляемый график, событием для обновления которого должно стать изменения...

288
Добавить в регулярное выражение символ № [требует правки]

Добавить в регулярное выражение символ № [требует правки]

Хочу добавить в регулярное выражение не обязательный символ №, но он игнорируетсяРешетка работает, а именно знак "номер" - нет

219
Почему сайт не скролится на ios

Почему сайт не скролится на ios

На сайте https://poktstore/armada/ используется full page

186