javascript – 你能在TypeScript接口中定义字符串长度吗?

我有一个像这样的结构:

struct tTest{
  char foo [1+1];
  char bar [64];
};

在我有的TypesScript中

export interface tTest{
  foo: string;
  bar: string;
}

有没有办法将[64]和[1 1]添加到类型中?

解决方法:

正如评论所说: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 += " ";
        }
    }
}

(code in playground)

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐