📜  Typescript 类中属性方法的默认可见性是什么?(1)

📅  最后修改于: 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,但可以明确指定为privateprotected。这有助于我们编写更安全和可维护的代码。