Dưới đây là một vài điều bạn có thể làm:
Xuất a const
từ mô-đun . Tùy thuộc vào trường hợp sử dụng của bạn, bạn có thể chỉ cần:
export const constant1 = 33;
Và nhập nó từ các mô-đun khi cần thiết. Hoặc, xây dựng trên phương pháp ý tưởng tĩnh của bạn, bạn có thể khai báo một static
get accessor :
const constant1 = 33,
constant2 = 2;
class Example {
static get constant1() {
return constant1;
}
static get constant2() {
return constant2;
}
}
Theo cách đó, bạn sẽ không cần dấu ngoặc đơn:
const one = Example.constant1;
Ví dụ REPL Babel
Sau đó, như bạn nói, vì a class
chỉ là đường cú pháp cho một hàm, bạn có thể chỉ cần thêm một thuộc tính không thể ghi như vậy:
class Example {
}
Object.defineProperty(Example, 'constant1', {
value: 33,
writable : false,
enumerable : true,
configurable : false
});
Example.constant1; // 33
Example.constant1 = 15; // TypeError
Nó có thể tốt nếu chúng ta có thể làm một cái gì đó như:
class Example {
static const constant1 = 33;
}
Nhưng thật không may, cú pháp thuộc tính lớp này chỉ có trong một đề xuất ES7 và thậm chí sau đó nó sẽ không cho phép thêm const
vào thuộc tính.