#和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高
相关推荐
hepherd11 分钟前
Flask学习笔记 - 模板渲染
前端·flask
LaoZhangAI11 分钟前
【2025最新】Manus邀请码免费获取完全指南:5种稳定渠道+3个隐藏方法
前端
经常见13 分钟前
浅拷贝与深拷贝
前端
巷北夜未央13 分钟前
Python每日一题(14)
开发语言·python·算法
梅子酱~17 分钟前
Vue 学习随笔系列二十二 —— 表格高度自适应
javascript·vue.js·学习
前端飞天猪18 分钟前
学习笔记:三行命令,免费申请https加密证书📃
前端
关二哥拉二胡19 分钟前
前端的 AI 应用开发系列二:手把手揭秘 RAG
前端·面试
斯~内克21 分钟前
前端图片加载性能优化全攻略:并发限制、预加载、懒加载与错误恢复策略
前端·性能优化
你的人类朋友22 分钟前
JS严格模式,启动!
javascript·后端·node.js
奇怪的知识又增长了30 分钟前
Command SwiftCompile failed with a nonzero exit code Command SwiftGeneratePch em
前端