TypeScript变量初始化

时间:2012-10-30 11:03:38

标签: javascript typescript

我使用名为EdgeJS的TypeScript编写了graph measurement library。 我还使用Jasmine编写单元测试来验证它是否正确。

问题是我测试失败,根本原因,我认为,我有一个函数来初始化填充为零而不是undefined的数组,并且初始化方法似乎“记住”它已初始化的数组,这会影响结果

您可以在控制台输出中看到unit test page that this line打印出的数组,其中包含数字,而不仅仅是我预期的零。

1 个答案:

答案 0 :(得分:1)

我把这个简短的例子放在一起。

  1. 我在获取不同长度的数组时没有任何问题
  2. 如果我记得任何值,我没有任何问题
  3. 如果您可以提供从EdgeJS代码获得的控制台输出的详细信息,这可能有助于确定这一点。

    实施例

    class ArrayUtilities {
        private arrayOfZeros(n: number) : number[] {
            var a: number[] = [];
            for (var i = 0; i < n; i++) { 
                a[i] = 0;
            }
            console.log("New array", a);
            return a;
        }
    
        test() {
            var a: number[] = this.arrayOfZeros(5);
            for (var i = 0; i < a.length; i++) {
                a[i] = 1;
            }
            console.log("Updated array", a);
            var b: number[] = this.arrayOfZeros(6);
            var c: number[] = this.arrayOfZeros(2);
        }
    }
    
    var au = new ArrayUtilities();
    au.test();
    

    我得到以下输出......

    New array[0, 0, 0, 0, 0]app.js?1 (line 8)
    Updated array[1, 1, 1, 1, 1]app.js?1 (line 16) 
    New array[0, 0, 0, 0, 0, 0]app.js?1 (line 8)
    New array[0, 0]app.js?1 (line 8)