Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 具有内置功能的TypeScript类_Javascript_Class_Typescript - Fatal编程技术网

Javascript 具有内置功能的TypeScript类

Javascript 具有内置功能的TypeScript类,javascript,class,typescript,Javascript,Class,Typescript,出于某种原因,当我尝试在TypeScript中创建一个简单类时,我在toJSON()函数“duplicate identifier'this”中遇到了错误。在子对象中引用属性的正确方式是什么 如果我删除'this'。并尝试字符串化{lat,lng},我会得到错误“找不到'lat',你是说'this.lat'” 有什么建议吗 class LatLng { lat?: number; lng?: number; constructor(lat: number, lng: n

出于某种原因,当我尝试在TypeScript中创建一个简单类时,我在toJSON()函数“duplicate identifier'this”中遇到了错误。在子对象中引用属性的正确方式是什么

如果我删除'this'。并尝试字符串化{lat,lng},我会得到错误“找不到'lat',你是说'this.lat'”

有什么建议吗

class LatLng {
    lat?: number;
    lng?: number;

    constructor(lat: number, lng: number) {
        this.lat = lat;
        this.lng = lng;
    }

    toJSon() {
        return JSON.stringify({ this.lat, this.lng });
    };
}
谢谢你,萨米

写了18年的JavaScript,我没能发现明显的问题,doh

正确的代码应该是:

class LatLng {
    lat: number;
    lng: number;

    constructor(lat: number, lng: number) {
        this.lat = lat;
        this.lng = lng;
    }

    toJSon() {
        return JSON.stringify({ lat: this.lat, lng: this.lng });
    };
}

向JSON.stringify传递一个有效的对象,比如
{lat:this.lat,lng:this.lng}