#和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高
相关推荐
读研的武4 分钟前
DashGo零基础入门 纯Python的管理系统搭建
开发语言·python
Andy24 分钟前
Python基础语法4
开发语言·python
但要及时清醒29 分钟前
ArrayList和LinkedList
java·开发语言
孚亭44 分钟前
Swift添加字体到项目中
开发语言·ios·swift
hweiyu001 小时前
Go、DevOps运维开发实战(视频教程)
开发语言·golang·运维开发
mm-q29152227291 小时前
Python+Requests零基础系统掌握接口自动化测试
开发语言·python
小李小李不讲道理1 小时前
「Ant Design 组件库探索」五:Tabs组件
前端·react.js·ant design
毕设十刻1 小时前
基于Vue的学分预警系统98k51(程序 + 源码 + 数据库 + 调试部署 + 开发环境配置),配套论文文档字数达万字以上,文末可获取,系统界面展示置于文末
前端·数据库·vue.js
星星火柴9361 小时前
笔记 | C++面向对象高级开发
开发语言·c++·笔记·学习