如何初始化typescript中的函数数组?

如何初始化typescript中的函数数组?,typescript,Typescript,我必须不断向函数数组添加值undoSteps let undoSteps: [() => void] = [null]; undoSteps.push(printingSomething()); 这会在数组中再添加一个null条目 如果不使用shift()方法,如何处理null?只需将其初始化为空(类型也为off,您可以将其定义为包含一个元素的元组): 在所提供的代码中,您所做的是定义一个数组,它是一组具有已定义类型、顺序和数量的元素(它实际上与运行时的普通数组没有区别) 正如H.B.所

我必须不断向函数数组添加值
undoSteps

let undoSteps: [() => void] = [null];
undoSteps.push(printingSomething());
这会在数组中再添加一个null条目


如果不使用shift()方法,如何处理null?

只需将其初始化为空(类型也为off,您可以将其定义为包含一个元素的元组):


在所提供的代码中,您所做的是定义一个数组,它是一组具有已定义类型、顺序和数量的元素(它实际上与运行时的普通数组没有区别)

正如H.B.所说,这是您试图实现的正确语法

let undoSteps:(()=>void)[]=];
//如果printingSomething()返回一个函数,则这是正确的
撤消步骤。按下(printingSomething());

让撤销步骤:数组无效>=[];
//如果printingSomething()返回一个函数,则这是正确的
撤消步骤。按下(printingSomething());
但是,如果您不打算为函数或特定返回类型设置特定的参数集(不同于
void
undefined
),则可以使用通用函数类型编写:

让撤销步骤:函数[]=[];

let-undoSteps:Array=[];

为什么不能使用shift?为什么数组必须以空元素开头?难道不是
let-undoSteps:array=[]执行作业?:)
let undoSteps: (() => void)[] = [];