typescript Angular 中的只读预设值

yjghlzjz  于 2023-03-04  发布在  TypeScript
关注(0)|答案(1)|浏览(113)

我是Angular和TypeScript的新手,在掌握它们的过程中,我遇到了一个任务,我需要一个对象(或类似的东西),它让我有机会定义一个可读但不可编辑的属性。
在Java中我会这样做

public class Dto {
 private long id;
 private String desc;

 public Dto(String desc){
   this.desc = desc;
   id= Generator.getRandomId();
 }

 //Getter for both
 // Setter for desc
}

有没有什么方法可以在TypeScript中做类似的事情?我被告知要用接口来做,但是这次,我被问得太多了。谢谢!

9rygscc1

9rygscc11#

在TS中也是如此:

class Dto {
    private readonly id: number;
    private desc: string;

    public Dto(desc: string) {
        this.desc = desc;
        this.id = Generator.getRandomId();
    }
}

或通过接口:

interface Foo {
    readonly id: string;
    desc: string;
}

declare const foo: Foo;
foo.id = '' // Error

相关问题