我试图定义一个相当复杂的数组和一个函数来返回不同的常量。我的伪代码如下所示:
// file: matrix.d.ts (to accompany matrix.js)
declare module 'matrix' {
// values restricted to ...
type MATRIX_VALUE = (null|-1|0|1);
^ ERROR: [ts] Type expected.
// OR:
type MATRIX_VALUE = Number?;
^ ERROR: [ts] ';' expected.
// array length restricted to 3 in 3, + specific values
type Matrix = Array<Array<MATRIX_VALUE>[3]>[3];
^ ERROR: [ts] ']' expected.
// OR:
type Matrix = Array<Array<MATRIX_VALUE>(3)>(3);
^ ERROR: [ts] '>' expected.
export const A;
export const B;
export function testMatrix(mat: Matrix): A|B;
^ ERROR: [ts] can not find name 'A'.
}
我很丢失。似乎没有关于它的文件。 有任何想法吗?也许我完全以错误的方式使用它。我很感激任何解决这个问题的方向。
答案 0 :(得分:1)
输入MATRIX_VALUE = Number
使用TypeScript latest支持null类型:
type MATRIX_VALUE = number | null
数组长度限制为3 in 3,
使用tupple类型
type MatrixRow = [number,number,number]
type Matrix = [MatrixRow,MatrixRow,MatrixRow]