#和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高
相关推荐
AAA.建材批发刘哥6 分钟前
03--C++ 类和对象中篇
linux·c语言·开发语言·c++·经验分享
jghhh0110 分钟前
MATLAB实现弹道仿真源代码
开发语言·matlab
孟祥_成都14 分钟前
让 AI 自动写 SQL、读文档,前端也能玩转 Agent! langchain chains 模块解析
前端·人工智能
拾荒的小海螺34 分钟前
C#:PdfiumViewer 高效解析和操作 PDF 的技术指南
开发语言·pdf·c#
人道领域36 分钟前
【零基础学java】(方法引用)
java·开发语言
Macbethad37 分钟前
TwinCAT半导体设备IO Simulator技术方案
开发语言
天蓝色的鱼鱼43 分钟前
别再瞎转Base64了!一文打通前端二进制任督二脉
前端
哟哟耶耶1 小时前
Plugin-安装Vue.js devtools6.6.3扩展(组件层级可视化)
前端·javascript·vue.js
qq_336313931 小时前
java基础-IO流(打印流)
java·开发语言
缺点内向1 小时前
C#: 精准掌控Excel工作流——激活工作表与选择单元格实战
开发语言·c#·excel