TypeScript如何定义由数字组成的字符串?

需要定义一个字符串,该字符串由数字组成;

    interface NumStr {
        // ???
    }
    
    let num_str: NumStr = '0'; // OK
    let num_str: NumStr = 0; // not OK
    let num_str: NumStr = ''; // not OK

我需要如何定义呢?
如果这个字符串限定长度为n,又该如何定义呢?

阅读 2.3k
2 个回答

typescript没有这种操作,字符串就是字符串,数字就是数字,数字组成的字符串在typescript还是字符串,用string约束。
如果你非要搞的话,可以封装一下

class MyString<T> {
    private data:T[];
    
    public append(item:T) {
        this.data[] = item;
    }
    
    public toString() {
        return this.data.join('');
    }
}

var mystr = new MyString<number>;
mystr.append(1);
console.log(mystr.toString());

不过我觉得多此一举

没这功能
有个用正则定义string子类型的issue开了好多年了,尚未统一

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进