typescript - làm thế nào để thay đổi thuộc tính thành giá trị tĩnh đã sử dụng trong lớp?
class Parent {
currentStatus: 'a' | 'b' | 'c';
}
class Test extends Parent {
public static status = {
a: 'a',
};
constructor() {
super();
this.currentStatus = Test.status.a;
}
}
Tôi nên làm điều đó như thế nào?
Tôi muốn đặt giá trị vào CurrentStatus.
Câu trả lời #1
Tôi muốn đặt giá trị vào
CurrentStatus.
Lỗi xảy ra vì chúng ta không thể gán một kiểu string cho một kiểu hợp nhất literal chuỗi của 'a' | 'b' | 'c'.
Bạn có thể sử dụng as const để đảm bảo rằng Test.status.a là kiểu literal chuỗi 'a', nằm trong miền của 'a' | 'b' | 'c', thay vì bị mở rộng thành kiểu string, vốn nằm ngoài miền.
class Parent {
currentStatus: 'a' | 'b' | 'c';
}
class Test extends Parent {
public static status = {
a: 'a' as const,
};
constructor() {
super();
this.currentStatus = Test.status.a;
}
}
