Take the following code:
function OldSchool() {}
OldSchool.prototype = {
foo: "bar",
};
class NewSchool {
foo = "bar";
}
let oldSchool = new OldSchool,
newSchool = new NewSchool;
// false, true
console.log(
oldSchool.hasOwnProperty("foo"),
newSchool.hasOwnProperty("foo")
);
// 'bar', 'bar'
console.log(
oldSchool.foo, newSchool.foo
);
How would I rewrite NewSchool
to have the same prototyping behavior as OldSchool
?
EDIT: The following does not work:
<script type="text/javascript">
function OldSchool() {}
OldSchool.prototype = {
foo: "bar",
};
class NewSchool {}
NewSchool.prototype = {
foo: "bar",
};
let oldSchool = new OldSchool,
newSchool = new NewSchool;
// false, true
console.log(
oldSchool.hasOwnProperty("foo"),
newSchool.hasOwnProperty("foo")
);
// 'bar', undefined
console.log(
oldSchool.foo, newSchool.foo
);
</script>