#和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高
相关推荐
青岑CTF6 分钟前
攻防世界-Ics-05-胎教版wp
开发语言·安全·web安全·网络安全·php
Li emily7 分钟前
如何通过外汇API平台快速实现实时数据接入?
开发语言·python·api·fastapi·美股
xiaoqi92239 分钟前
React Native鸿蒙跨平台如何实现分类页面组件通过searchQuery状态变量管理搜索输入,实现了分类的实时过滤功能
javascript·react native·react.js·ecmascript·harmonyos
APIshop41 分钟前
Java 实战:调用 item_search_tmall 按关键词搜索天猫商品
java·开发语言·数据库
打小就很皮...1 小时前
Tesseract.js OCR 中文识别
前端·react.js·ocr
血小板要健康1 小时前
Java基础常见面试题复习合集1
java·开发语言·经验分享·笔记·面试·学习方法
qq_177767371 小时前
React Native鸿蒙跨平台实现应用介绍页,实现了应用信息卡片展示、特色功能网格布局、权限/联系信息陈列、评分展示、模态框详情交互等通用场景
javascript·react native·react.js·ecmascript·交互·harmonyos
淼淼7631 小时前
安装jdk1.8
java·开发语言
2603_949462101 小时前
Flutter for OpenHarmony社团管理App实战:预算管理实现
android·javascript·flutter
wuhen_n1 小时前
JavaScript内存管理与执行上下文
前端·javascript