首页
学习
活动
专区
圈层
工具
发布
技术百科首页 >TypeScript >TypeScript 中的类(class)与 JavaScript 的类有何不同?

TypeScript 中的类(class)与 JavaScript 的类有何不同?

词条归属:TypeScript

1. 类型注解

  • TypeScript 类可以为属性、构造函数参数、方法返回值添加类型注解
  • JavaScript 类没有类型系统,所有属性类型在运行时才确定
  • TypeScript 编译器会在编译时检查类型正确性

2. 访问修饰符

  • TypeScript 支持 public(默认)、private、protected 三种访问修饰符
  • private 成员只能在声明它的类内部访问
  • protected 成员可以在声明它的类及其子类中访问
  • 注意:这些修饰符仅在编译时生效,运行时的 JavaScript 代码中仍可访问所有属性

3. 参数属性

  • TypeScript 支持在构造函数中直接声明并初始化属性:constructor(public name: string)
  • 等价于先声明属性再在构造函数中赋值,减少了样板代码
  • 可与 readonly 修饰符结合使用

4. readonly 属性

  • 使用 readonly 修饰符声明的属性只能在声明时或构造函数中赋值
  • 编译时检查确保属性不会被意外修改
  • 与 JavaScript 的 # 私有字段不同,readonly 不是运行时隐私保护

5. 抽象类

  • TypeScript 支持抽象类和抽象方法,强制子类实现特定的行为
  • 抽象类不能被直接实例化,只能作为基类被继承
  • JavaScript 没有原生的抽象类支持

6. 接口实现

  • TypeScript 类可以使用 implements 关键字实现一个或多个接口
  • 编译器会检查类是否满足接口的契约
  • JavaScript 类无法实现接口

7. 真正的私有字段

  • TypeScript 支持 JavaScript 的 # 私有字段语法,提供运行时隐私保护
  • # 私有字段在编译后仍保留隐私检查,无法从外部访问
  • 与 private 修饰符相比,# 提供了更强的封装性
相关文章
TypeScript中的类
在TypeScript中,类是一种用于创建对象的蓝图,它定义了对象的属性和方法。类可以看作是对象的模板,通过实例化类可以创建具体的对象。
堕落飞鸟
2023-05-22
2.8K0
JAVA中类的public class与class的区别详解
参考:http://www.jb51.net/article/39892.htm http://www.cnblogs.com/stevengerrard/p/4067422.html 《java编程思想》
全栈程序员站长
2022-06-28
2K0
JavaScript 与 TypeScript之间的不同
当比较 TypeScript 和 JavaScript 时,我们需要牢记所有合适的 JavaScript 代码同样也是合法的 TypeScript 代码。TypeScript 可以被视为 JavaScript 的一个子集。
泽霖
2023-11-28
1.4K0
Java中抽象类(abstract class)和接口(interface)有什么不同?
Java 中的抽象类(abstract class)和接口(interface)是两种常见的抽象化机制,它们都可以被用于定义一些具有一定抽象特性的东西,例如 API 或者系统中的某些模块。尽管抽象类和接口有着相似之处,但也有明显的区别。下面将详细介绍这两个概念的不同点。
用户1289394
2023-08-22
2K0
Java中不同包下类与类之间的访问
Java中不同包下类与类之间的访问 (1)我们多次使用一个带包的类,都需要加包的全路径,非常的麻烦,这个时候,Java就提供了导包的功能,提供了一个关键字import。 (2)格式: import 包名.包名. ...包名.类名;       这种方式导入的是:到类的名称。     另一种: import 包名.包名. ... .*;(不建议) (3) package、import、class有没有顺序关系呢?     有。     package > import > class     package:只能有一个     import:可以有多个     class:可以有多个,以后建议是一个。(因为每一个类是一个独立的单元)
黑泽君
2018-10-11
5.2K0
点击加载更多
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
领券