JavaScript class 属性114
在 JavaScript 中,class 属性用于定义类的属性。与其他编程语言不同,JavaScript 中的类属性不是静态类型化的,这意味着它们的值可以是任何类型,包括对象、数组和函数。
类属性的语法类属性的语法如下:
```
class MyClass {
// 公有属性
prop1 = value1;
// 私有属性
#prop2 = value2;
}
```
* 公有属性:使用 `prop1 = value1` 语法定义的属性是公有的,这意味着它们可以在类的实例和类本身上访问。
* 私有属性:使用 `#prop2 = value2` 语法定义的属性是私有的,这意味着它们只能在类的实例上访问。
访问类属性* 公有属性:可以通过类实例或类本身访问公有属性,如下所示:
```
const instance = new MyClass();
(instance.prop1); // value1
(MyClass.prop1); // value1
```
* 私有属性:只能通过类实例访问私有属性,如下所示:
```
const instance = new MyClass();
(instance.#prop2); // value2
(MyClass.#prop2); // TypeError: Private field #prop2
```
类属性的初始化类属性可以在声明时初始化,也可以在构造函数中初始化。使用声明时初始化语法如下:
```
class MyClass {
prop1 = 10;
prop2 = 20;
}
```
使用构造函数初始化语法如下:
```
class MyClass {
constructor() {
this.prop1 = 10;
this.prop2 = 20;
}
}
```
类属性的类型推断JavaScript 中的类属性不是静态类型化的,这意味着它们可以是任何类型。但是,可以通过使用 TypeScript 等语言扩展来实现类型推断。
类属性的访问控制除了公有和私有属性之外,JavaScript 还可以定义受保护的属性。受保护的属性只能在类的派生类中访问。使用受保护属性语法如下:
```
class MyClass {
protected prop1 = value1;
}
```
类属性的用例类属性可用于存储类或其实例的状态。它们还可以用于定义类的方法和属性的默认值。
例如,以下类定义了两个属性:`name` 和 `age`:
```
class Person {
name = "";
age = 0;
constructor(name, age) {
= name;
= age;
}
}
```
此类可用于创建具有指定名称和年龄的 `Person` 实例,如下所示:
```
const person = new Person("John Doe", 30);
(); // John Doe
(); // 30
```
JavaScript class 属性用于定义类的属性。它们可以是公有的、私有的或受保护的。类属性可以用于存储类或其实例的状态,以及定义类的派生类。
2025-02-13
![Perl 箭头操作符](https://cdn.shapao.cn/images/text.png)
Perl 箭头操作符
https://jb123.cn/perl/37117.html
![Python 编程热度图:揭秘 Python 的流行趋势](https://cdn.shapao.cn/images/text.png)
Python 编程热度图:揭秘 Python 的流行趋势
https://jb123.cn/python/37116.html
![在 PHP 中向 JavaScript 传递数据](https://cdn.shapao.cn/images/text.png)
在 PHP 中向 JavaScript 传递数据
https://jb123.cn/javascript/37115.html
![手机脚本编程教学软件大盘点,助你轻松入门编程之路!](https://cdn.shapao.cn/images/text.png)
手机脚本编程教学软件大盘点,助你轻松入门编程之路!
https://jb123.cn/jiaobenbiancheng/37114.html
![脚本语言是一种解释语言吗?](https://cdn.shapao.cn/images/text.png)
脚本语言是一种解释语言吗?
https://jb123.cn/jiaobenyuyan/37113.html
热门文章
![JavaScript (JS) 中的 JSF (JavaServer Faces)](https://cdn.shapao.cn/images/text.png)
JavaScript (JS) 中的 JSF (JavaServer Faces)
https://jb123.cn/javascript/25790.html
![JavaScript 枚举:全面指南](https://cdn.shapao.cn/images/text.png)
JavaScript 枚举:全面指南
https://jb123.cn/javascript/24141.html
![JavaScript 逻辑与:学习布尔表达式的基础](https://cdn.shapao.cn/images/text.png)
JavaScript 逻辑与:学习布尔表达式的基础
https://jb123.cn/javascript/20993.html
![JavaScript 中保留小数的技巧](https://cdn.shapao.cn/images/text.png)
JavaScript 中保留小数的技巧
https://jb123.cn/javascript/18603.html
![JavaScript 调试神器:步步掌握开发调试技巧](https://cdn.shapao.cn/images/text.png)
JavaScript 调试神器:步步掌握开发调试技巧
https://jb123.cn/javascript/4718.html