#和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高
相关推荐
大黄说说2 分钟前
告别卡顿:Android UI 性能优化,布局层级过度绘制实战排查
开发语言
千谦阙听6 分钟前
【 C++篇】:模板初阶——泛型编程、函数模板与类模板
开发语言·c++·学习·visual studio
SEO_juper8 分钟前
2026年用Python检测网站薄内容与重复页:用向量相似度找出“搜索引擎眼中一样“的页面(附完整代码)
开发语言·前端·seo·独立站·谷歌优化
老王爱玩车16 分钟前
第6讲:数组和函数实践-----控制台扫雷
c语言·开发语言·学习
IT_陈寒16 分钟前
Vite这坑我踩了,说说静态资源加载那些事儿
前端·人工智能·后端
m0_7345717633 分钟前
深入理解C++ 多态<三>(Polymorphism)模板方法模式
开发语言·c++
君顾134 分钟前
24小时自助健身房系统开发实战:从0到1完整技术架构指南
java·开发语言·健身房
梦曦i39 分钟前
uni-app x 0.7.0重磅升级:插件实例化,原生编译彻底打通
前端·uni-app x
开开心心就好1 小时前
C盘空间不够用?一键扫描清理系统垃圾
前端·javascript·安全·支持向量机·语音识别·etcd·模拟退火算法
爱喝水的小周1 小时前
实验八 Vue‑Router 路由插件实践
前端·javascript