#和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高
相关推荐
lly2024061 分钟前
C++ 实例分析
开发语言
a努力。4 分钟前
2026 AI 编程终极套装:Claude Code + Codex + Gemini CLI + Antigravity,四位一体实战指南!
java·开发语言·人工智能·分布式·python·面试
二川bro15 分钟前
Java集合类框架的基本接口有哪些?
java·开发语言·python
zhangfeng113327 分钟前
PowerShell 中不支持激活你选中的 Python 虚拟环境,建议切换到命令提示符(Command Prompt)
开发语言·python·prompt
huizhixue-IT31 分钟前
2026年还需要学习RHCE 吗?
开发语言·perl
zUlKyyRC37 分钟前
LabVIEW 玩转数据库:Access 与 SQL Server 的实用之旅
开发语言
GIS之路1 小时前
GDAL 实现影像裁剪
前端·python·arcgis·信息可视化
AGMTI1 小时前
webSock动态注册消息回调函数功能实现
开发语言·前端·javascript
不会Android的潘潘1 小时前
受限系统环境下的 WebView 能力演进:车载平台 Web 渲染异常的根因分析与优化实践
android·java·前端·aosp
建军啊1 小时前
java web常见lou洞
android·java·前端