MST
星途 面试题库

面试题:JavaScript中JavaScript与TypeScript类型系统的基础差异

请简要阐述JavaScript和TypeScript类型系统在变量声明和类型检查方面的主要区别。并举例说明在JavaScript中如何进行弱类型的变量赋值,而在TypeScript中如何实现强类型的变量声明。
15.0万 热度难度
编程语言JavaScript

知识考点

AI 面试

面试题答案

一键面试

变量声明和类型检查方面主要区别

  1. JavaScript:是弱类型语言,变量声明时无需指定类型,变量类型在运行时根据赋值动态确定。类型检查相对宽松,不同类型值在运算等操作时可能发生隐式类型转换。
  2. TypeScript:是强类型语言,变量声明时可指定类型,类型检查在编译阶段进行。若变量赋值类型与声明类型不符,编译会报错,能提前发现类型相关错误。

示例

  1. JavaScript弱类型变量赋值
let num;
num = 10; // 赋值数字
num = 'hello'; // 可重新赋值为字符串,无类型错误
  1. TypeScript强类型变量声明
let num: number;
num = 10; 
// num = 'hello';  // 这样会报错,因为类型不匹配,字符串不能赋值给number类型变量