#和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高
相关推荐
前端西瓜哥7 分钟前
图形编辑器开发:钢笔工具新增和删除并连接锚点
前端
LuckySusu7 分钟前
【HTML 篇】深入理解 Web Worker:让 JavaScript 在后台默默工作
前端·html
前端日常开发8 分钟前
前端实现画中画,让网页飞出浏览器
前端
野盒子10 分钟前
前端小程序面试题
前端·小程序·notepad++
开始编程吧10 分钟前
【HarmonyOS5】鸿蒙×React Native深度实践:跨端应用开发的「代码级」融合
前端
Re27510 分钟前
什么期末还要考html,我还没上车啊。期末慌了!HTML 速成攻略来袭
前端
irises10 分钟前
简单实现一个水印插件
前端·源码
我爱吃橘子10 分钟前
解决 Element UI 单选框组内输入框光标移动报错问题
前端
若梦plus12 分钟前
React19 路由方案与原理详解
前端·javascript·react.js
猩猩程序员12 分钟前
使用用 Rust 开发的 Oxlint 1.0 发布,赶紧上车
前端