如何初始化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)[] = [];