Casting by Object.assign

Convert a plain javascript object to custom type using Object.assign.

by Sayan Pal

HTML

<div id="container">
</div>

JavaScript

function Person(firstName, lastName) {
  this.firstName = firstName;
  this.lastName = lastName;

  this.getFullName = function() {
    return this.lastName + ' ' + this.firstName;
  }
}

var persons = [{
  lastName: "Freeman",
  firstName: "Gordon"
}, {
  lastName: "Smith",
  firstName: "John"
}];

var stronglyTypedPersons = [];
for (var i = 0; i < persons.length; i++) {
  stronglyTypedPersons.push(Object.assign(new Person("", ""), persons[i]));
}

var container = document.getElementById("container");

for (var i = 0; i < stronglyTypedPersons.length; i++) {
  container.innerHTML = container.innerHTML + stronglyTypedPersons[i].getFullName() + '<br/>';
}