I would like to create a "name" Object, along the lines of:
let p = {
    first:              undefined,
    last:               undefined,
    get fullname()      {return `${this.first} ${this.last}`},
    set fullname(value) {throw Error("fullname can only be used as a getter.")}
}
p.first = "Tom";
p.last = "Jones";
console.log(p.fullname);
// p.fullname = "Billy Bob"; // will error
I want to have first as a property of the object, but have it not-set by default. Is doing first: undefined the correct way to do this, or how would I basically set up a 'person object'? Additionally, would it be more correct to have it as first: undefined or first: null on initialization?
