TypeScript 简称TS,TypeScript是JavaScript的一个超集,可以说TypeScript是JavaScript的进阶版。它增强了JavaScript类型的脚本语言。TypeScript还会限制JavaScript的类型。
所以,TypeScript是弱类型还是强类型?
回答:其实 TypeScript是弱类型,也是强类型。
类型系统按照「是否允许隐式类型转换」来分类,可以分为强类型和弱类型。
TypeScript是强类型,因为它会认知类型;
而说TypeScript是弱类型时,TypeScript被浏览器不能直接识别,需要转化为JavaScript才行 。
以下这段代码不管是在 JavaScript 中还是在 TypeScript 中都是可以正常运行的,运行时数字 1 会被隐式类型转换为字符串 '1',加号 + 被识别为字符串拼接,所以打印出结果是字符串 '11'。
console.log(1+'1') // '11'
TypeScript 是完全兼容 JavaScript 的,它不会修改 JavaScript 运行时的特性,所以它们都是弱类型。
作为对比,Python 是强类型,以下代码会在运行时报错:
print (1+'1')
所以,可以说 TypeScript是弱类型,也是强类型。