Typescript/JS中类似struct的接口?

Fai*_*jaz 8 javascript typescript

因为我不能在互联网上找到一个明确的答案,所以听到我的问题:

我有一个像这样的"结构":

struct tTest{
  char foo [1+1];
  char bar [64];
};
Run Code Online (Sandbox Code Playgroud)

有没有办法在TS/JS中构建它?

我认为使用接口是正确的方法:

export interface tTest{
  foo: string;
  bar: string;
}
Run Code Online (Sandbox Code Playgroud)

但是没有办法将[64]和[1 + 1]添加到属性中,是吗?如果有,那将是很棒的,因为我需要每个tTest像对象长度相同,并且更难以检查长度并添加东西,直到它具有正确的长度.我觉得这真的很脏.

任何想法/帮助?谢谢!

Nit*_*mer 8

正如评论所说:js/ts不支持char类型,并且没有办法声明数组/字符串长度.

您可以使用setter强制执行此操作:

interface tTest {
    foo: string;
}

class tTestImplementation implements tTest {
    private _foo: string;

    get foo(): string {
        return this._foo;
    }

    set foo(value: string) {
        this._foo = value;

        while (this._foo.length < 64) {
            this._foo += " ";
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

(游乐场代码)

您需要拥有一个实际的类,因为接口缺少实现,并且无法在编译过程中继续存在.
我只是添加了空格以达到确切的长度,但您可以根据自己的需要进行更改.