我有一个变量oneDay
,我为其分配了一个整数
var oneDay = 24 * 60 * 60 * 1000; // hours*minutes*seconds*milliseconds
我在声明代码的函数终止结束时使用以下语法释放oneDay
占用的内存。
var oneDay=null;
我得到的错误:
错误TS2134:后续变量声明必须相同 类型。变数' oneDay'必须是类型'日期',但这里有类型 '空'
这可能是什么解决方案?谢谢
答案 0 :(得分:6)
使用JavaScript管理内存。
所有现代浏览器都使用标记和扫描算法来检测无法访问的对象(一些较旧的浏览器使用引用计数算法,该算法无法收集存在引用循环的对象,因为总会有引用)*。
只要一个对象不能再被引用,它就有资格进行垃圾收集(尽管垃圾收集会在某个时刻发生,而不是立即进行)。
总的来说,您不需要关心JavaScript或TypeScript中的内存管理 - 除非您有可测量的问题。
(*来自Pro TypeScript,p168-170)
答案 1 :(得分:1)
原因:您正在重新声明此变量,说明您收到此错误的原因。 试试这个:
oneDay = null;
$scope.days = null
或
delete $scope.days