#和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高
相关推荐
范纹杉想快点毕业1 分钟前
C语言设计模式:从基础架构到高级并发系统(完整实现版)
c语言·开发语言·设计模式
神算大模型APi--天枢6463 分钟前
合规落地加速期,大模型后端开发与部署的实战指南
大数据·前端·人工智能·架构·硬件架构
四瓣纸鹤5 分钟前
F2图表柱状图添加文本标注
前端·javascript·antv/f2
先做个垃圾出来………6 分钟前
Python测试桩工具
java·开发语言·python
inferno7 分钟前
HTML基础(第二部分)
前端·html
Dreamcatcher_AC13 分钟前
Ajax技术:前后端交互全解析
前端·ajax
行思理13 分钟前
FastAdmin新手教程
java·开发语言·fastadmin
就叫飞六吧13 分钟前
py脚本一键生成常见文件格式案例
开发语言·python
韭菜炒大葱20 分钟前
TailwindCSS:从“样式民工”到“UI乐高大师”的逆袭
前端·面试·编程语言
Tony Bai20 分钟前
Go 性能分析的“新范式”:用关键路径分析破解高并发延迟谜题
开发语言·后端·golang