#和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高
相关推荐
小新1102 分钟前
vue 实战项目 天气查询
前端·javascript·vue.js
Flash.kkl3 分钟前
C++基于websocketpp的多用户网页五子棋项目
开发语言·网络·数据库·c++·websocket·mysql
7yue3 分钟前
用 TypScript 学习 Claude Code
前端·typescript·claude
酉鬼女又兒4 分钟前
零基础入门计算机网络物理层:核心概念、传输媒体、传输方式、编码调制与信道极限容量完整知识点总结
开发语言·网络·计算机网络·考研·职场和发展·php·信息与通信
Rain5094 分钟前
实战:搭建 AI Code Review 自动化流水线
前端·人工智能·git·ci/cd·自动化·ai编程·代码复审
竹林8184 分钟前
用 wagmi v2 + viem 监听合约事件踩坑实录:从轮询到实时推送,我终于搞懂了
javascript
Nian_Baikal4 分钟前
从零搭建离线地图服务:Nginx + Cesium/Leaflet 实战指南
前端
问心无愧05135 分钟前
ctf show web入门99
android·前端·笔记
用户600071819106 分钟前
【翻译】CSS 与 JavaScript:动画性能该怎么选
前端