📅  最后修改于: 2023-12-03 15:20:43.446000             🧑  作者: Mango
Typescript 类中属性方法的默认可见性是什么?
在Typescript中,类中属性和方法的默认可见性是public
。这意味着任何人可以在类实例化后访问和使用这些属性和方法。
举个例子,我们可以创建一个类Person
,该类有一个name
属性和一个sayHello
方法:
class Person {
name: string;
constructor(name: string) {
this.name = name;
}
sayHello() {
console.log(`Hello, my name is ${this.name}`);
}
}
const person1 = new Person('Alice');
person1.sayHello(); // Output: "Hello, my name is Alice"
在上面的示例中,我们可以在类实例化之后访问并使用name
属性和sayHello
方法,因为它们的默认可见性为public
。
我们还可以明确指定属性和方法的可见性。例如,我们可以使name
属性为private
,这意味着它只能在类内部访问,而不能在类实例化后访问:
class Person {
private name: string;
constructor(name: string) {
this.name = name;
}
sayHello() {
console.log(`Hello, my name is ${this.name}`);
}
}
const person1 = new Person('Alice');
console.log(person1.name); // Output: Error - 'name' is private
person1.sayHello(); // Output: "Hello, my name is Alice"
此外,我们还可以使属性和方法具有protected
可见性,这意味着它们可以在类及其子类内部访问,但不能在类实例化后访问。
总之,在Typescript中,类中属性和方法的默认可见性为public
,但可以明确指定为private
或protected
。这有助于我们编写更安全和可维护的代码。