关于typescript 的let和javascript的let是不同的

同样一段代码,在typescript和javascript中是不同的表现结果:

function sumMatrix(matrix: number[][]) {
    let sum = 0
    for (let i = 0; i < matrix.length; i++) {
        let currentRow = matrix[i]
        for(let i = 0; i<currentRow.length; i++) {
            sum += currentRow[i]
        }
    }
    return sum;
}

let matrix = [
    [1, 2, 3],
    [4, 5, 6]
]

console.log(sumMatrix(matrix))

 

在typescript编译后是:21

而直接放在js文件中,结果是:6

此时去看看这段代码从ts编译为js文件时是什么样的:

function sumMatrix(matrix) {
    var sum = 0;
    for (var i = 0; i < matrix.length; i++) {
        var currentRow = matrix[i];
        for (var i_1 = 0; i_1 < currentRow.length; i_1++) {
            sum += currentRow[i_1];
        }
    }
    return sum;
}
var matrix = [
    [1, 2, 3],
    [4, 5, 6]
];
console.log(sumMatrix(matrix));

当然,最上方的代码是不易维护的,只是为了区分typescript中的let和javascript中的let。

 

posted @ 2020-08-21 16:07  游丝飘榭  阅读(220)  评论(0编辑  收藏  举报