前端 TypeScript 面试题, TypeScript 的类有哪些成员可见性?
前端 TypeScript 面试题, TypeScript 的类有哪些成员可见性?
QA
Step 1
Q:: TypeScript 中的类成员可见性有哪些?
A:: TypeScript 的类成员可见性主要有三种:public、private 和 protected。public 成员可以被任何地方访问。private 成员只能在声明它的类内部访问。protected 成员只能在声明它的类及其子类中访问。
Step 2
Q:: 如何在 TypeScript 中声明一个 private 成员?
A:: 可以在类的成员前面加上 private
关键字来声明该成员为私有的。例如:private name: string;
。
Step 3
Q:: TypeScript 中的 protected 和 private 有什么区别?
A:: private 成员只能在声明它的类内部访问,而 protected 成员除了在声明它的类内部可以访问外,还可以在该类的子类中访问。
Step 4
Q:: 在 TypeScript 中如何访问类的 private 成员?
A:: 类的 private 成员只能在该类内部进行访问。可以通过类的方法在类内部访问 private 成员。例如:this.name
。
Step 5
Q:: TypeScript 中的 public 成员默认是可见的,这是真的吗?
A:: 是的。在 TypeScript 中,类的成员默认是 public 的。如果没有明确指定可见性修饰符,成员就会被认为是 public 的。
Step 6
Q:: TypeScript 中的 readonly 修饰符如何与可见性修饰符结合使用?
A:: readonly
修饰符可以与 public、private 或 protected 一起使用。它用于指定成员在被初始化后不能被修改。例如:public readonly name: string;
表示 name
是一个只能被读的 public 成员。