常见typescript面试题

深入理解TypeScript:核心概念、特性与应用
本文详细介绍了TypeScript(TS)的基本概念,如其作为JS的超集、支持的特性如类和接口、以及主要类型如any、never、unknown等。文章还涵盖了TS的关键语法如const和readonly、this的使用、模块加载机制、类型断言和JSX等,并讨论了TS的兼容性和相关工具如装饰器和mixin。

1. 什么是TS?

TS是强类型的JS超集,支持ES6语法,支持面向对象编程的概念,如类、接口、继承、泛型等。

TS并不直接在浏览器上运行,需要编译器编译成JS来运行。

2. TS的主要特点

  • 跨平台:可以安装在任何OS上
  • ES6特性
  • 是面向对象的语言,提供标准OOP功能
  • 使用静态类型并帮助在编译时就进行类型检查
  • 允许可选的静态类型
  • 可以操作DOM来增删客户端网页元素

3. any、never、unknown、null & undefined、void有什么区别?

any:动态的变量类型(失去类型检查的作用)

never:永不存在的值的类型。例如:never类型是那些总是会抛出异常 或 根本不会有返回值的函数表达式

unknown:任何类型的值都能赋给unknown类型,但unknown类型的值只能赋给unknown本身 和 any类型

null&undefined:默认下它们是所有类型的子类型

void:没有任何类型。例如:一个函数没有返回值,就可以把返回值定义为null

4. any和unknown的区别

unknown更严格,在对unknown类型的值执行大多数操作之前,必须进行某种形式的检查。

而对any执行操作之前,不必做任何检查。


在编程阶段还不清除类型的变量,比如来自用户输入 或 第三方代码库,我们又不希望类型检查器对这些值进行检查而直接通过编译阶段的检查,这时就可以用any。

5. 如何将unknown指定为一个具体的类型

  • 使用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值