账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    TypeScript 用{}进行对象声明;
    33
    0
    class Point {
        x: number;
        y: number;
        private myAdd = function(x: string, y: string): void { console.log(x + y); }
        Invoke(x, y) { this.myAdd(x, y) }
    }
    let point:Point = {x:0,y:10, 
         myAdd (x: string, y: string): void { console.log(x + y); },
        Invoke(x, y) { this.myAdd(x, y) }};

    报错信息:error TS2322: Type '{ x: number; y: number; myAdd(x: string, y: string): void; Invoke(x: any, y: any): void; }' is not assignable to type 'Point'.
    Property 'myAdd' is private in type 'Point' but not in type '{ x: number; y: number; myAdd(x: string, y: string): void; Invoke(x: any, y: any): void; }'.

    这种带有私有property/function的类只能用构造函数声明对象吗?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 享受伤口 普通会员 1楼

      在TypeScript中,{}是一种对象声明的语法,它可以用来定义一个空对象,也可以用来创建一个对象。

      例如:

      typescript let person: Person = {};

      在这个例子中,person就是一个空对象。如果你有一个对象,你可以这样声明它:

      typescript let person = { name: 'John Doe', age: 30, city: 'New York' };

      在这个例子中,person就是一个对象,它有三个属性:nameagecity

      另外,{}还可以用来创建一个对象,这个对象可以继承另一个对象的属性和方法:

      ```typescript let person: Person = { name: 'John Doe', age: 30, city: 'New York' };

      let parent = { name: 'Jane Doe', age: 25, city: 'Chicago' };

      person.name = 'Jim Doe'; person.age = 35; person.city = 'Los Angeles';

      parent.name = 'Bob Johnson'; parent.age = 40; parent.city = 'San Francisco'; ```

      在这个例子中,parent是一个对象,它有两个属性:nameageperson继承了parent的属性,而person自己的属性也被parent继承了。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部