#和private有什么区别?

先上代码:

javascript 复制代码
class Person {
    #salary: number
    constructor(salary: number, private name: string) {
        this.#salary = salary

        console.log(this.#salary) // 可以访问私有属性
        console.log(this.name) // 可以访问公共属性
    }
}

const person = new Person(1000, '张三'); 
// console.log(person.name); // 可以访问公共属性
console.log((person as any).name); // 可以访问公共属性
// console.log(person.#salary); // 报错,因为salary是私有的

看代码,两者区别很明显:

  • #属性不能在构造函数中定义
  • private属性,可通过as any强制获取,但#属性不行
    #私密程度比private高
相关推荐
甄心爱学习几秒前
Python 中 combinations 的详细用法
开发语言·python
独自归家的兔6 分钟前
Java性能优化实战:从基础调优到系统效率倍增 -2
java·开发语言·性能优化
独自归家的兔11 分钟前
Java性能优化实战:从基础调优到系统效率倍增 - 1
java·开发语言·性能优化
小π军12 分钟前
C++ STL:array容器常见用法
开发语言·c++
Coder_Boy_14 分钟前
基于SpringAI的在线考试系统-考试系统DDD(领域驱动设计)实现步骤详解(2)
java·前端·数据库·人工智能·spring boot
1560820721916 分钟前
在QT下添加QWT6.1.4功能
开发语言·qt
GIS之路19 分钟前
ArcGIS Pro 实现影像波段合成
前端·python·信息可视化
minglie122 分钟前
micropython_spiFlash_w25qxx
开发语言·python
源代码•宸24 分钟前
Golang原理剖析(channel面试与分析)
开发语言·经验分享·后端·面试·golang·select·channel
m0_7482546626 分钟前
CSS id 和 classid 和 class 选择器
前端·css