#和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高
相关推荐
landonVM4 分钟前
Linux 上搭建 Web 服务器
linux·服务器·前端
css趣多多7 分钟前
路由全局守卫
前端
m0_7482299910 分钟前
ThinkPHP快速入门:从零到实战
c语言·开发语言·数据库·学习
liu****11 分钟前
三.Qt图形界面开发完全指南:从入门到掌握常用控件
开发语言·c++·qt
布茹 ei ai24 分钟前
Python屏幕监视器 - 自动检测屏幕变化并点击
开发语言·python
AI视觉网奇32 分钟前
huggingface-cli 安装笔记2026
前端·笔记
小龙报38 分钟前
【C语言进阶数据结构与算法】单链表综合练习:1.删除链表中等于给定值 val 的所有节点 2.反转链表 3.链表中间节点
c语言·开发语言·数据结构·c++·算法·链表·visual studio
比特森林探险记43 分钟前
组件通信 与 ⏳ 生命周期
前端·javascript·vue.js
黎雁·泠崖1 小时前
Java抽象类与接口:定义+区别+实战应用
java·开发语言
2301_792580001 小时前
xuepso
java·服务器·前端