同样一段代码,在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。