typescript - Javascript member variable undefined error though correctly defined -


i trying copy properties of 1 member variable member variable. both of same type. when call 'trackchanges' browser shows error:

typeerror: cannot read property 'hasownproperty' of undefined

can tell why this.originaldata isn't known @ runtime?

export class myclass {    data: imydata;   originaldata: imydata;    trackchanges() {     (const attr in this.data) {       if (this.originaldata.hasownproperty(attr)) {         this.originaldata[attr] = this.data[attr];       }     }   }    constructor() {     this.data.field1 = '123';     this.data.field2 = 12;   } 

nowhere in code assign value member variables. defining in typescript tells compiler members exist on object assign value, either using initializer when declare it, in constructor, method, or externally accessing setting member:

export class myclass {      data: imydata = {}; // initialize using object literal when declaring     originaldata: imydata = {}; // initialize using object literal when declaring     constructor(data: imydata = {}) {         this.originaldata = object.assign({}, this.data) // create copy of original , assign field         this.data = data; // assign data field     }     trackchanges() {         (const attr in this.data) {             if (this.originaldata.hasownproperty(attr)) {                 this.originaldata[attr] = this.data[attr];             }         }     } }  var myinstance = new myclass({ name: "jon"}); myinstance.data = {}; // external assignment   

Comments

Popular posts from this blog

resizing Telegram inline keyboard -

command line - How can a Python program background itself? -

php - "cURL error 28: Resolving timed out" on Wordpress on Azure App Service on Linux -