强类型 vs 弱类型

类型安全

  1. 强类型语言层面限制函数的实参类型必须与形参类型相同;
  2. 强类型有更强的类型约束,而弱类型中几乎没有什么约束;
  3. 强类型语言中不允许任意的隐式类型转换,而弱类型语言则允许任意的数据隐式类型转换;
  4. 变量类型允许随时改变的特点,不是强弱类型的差异;

静态类型和动态类型

类型检查

  1. 静态类型:一个变量声明时它的类型就是明确的,声明过后,它的类型就不允许被修改;
  2. 动态类型:在运行阶段才能明确变量类型,变量的类型也可以随时发生变化,也可以说动态类型的变量是没有类型的,变量中存放的值是有类型的;
  3. 各种语言类型参考下图

JavaScript 自由类型的问题

君子约定有隐患,强制要求有保障

  1. 异常需要等到运行时才能发现;
  2. 函数功能可能发生改变;
  3. 对象索引器的错误用法;

TypeScript 语言规范

  1. 错误更早暴露,在编译阶段就会显示出来;

  2. 强类型代码更智能,编码更准确;

  3. 重构更可靠;

  4. 减少了代码层面的不必要的类型判断;

JS 类型 => TS 类型

赋值兼容

打赏作者
您的打赏是我前进的动力
微信
支付宝
评论

中午好👏🏻,我是 ✍🏻   疯狂 codding 中...

粽子

这有关于前端开发的技术文档和你分享。

相信你可以在这里找到对你有用的知识和教程。

了解更多

目录

  1. 1. 强类型 vs 弱类型
  2. 2. 静态类型和动态类型
  3. 3. JavaScript 自由类型的问题
  4. 4. TypeScript 语言规范
  5. 5. JS 类型 => TS 类型
  6. 6. 赋值兼容