#和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高
相关推荐
yanyu-yaya17 分钟前
速学兼复习之vue3章节3
前端·javascript·vue.js·学习·前端框架
web小白成长日记20 分钟前
前端向架构突围系列模块化 [4 - 1]:思想-超越文件拆分的边界思维
前端·架构
tkevinjd22 分钟前
3-Vue&Ajax
前端·vue.js·ajax
林恒smileZAZ25 分钟前
前端拖拽,看似简单,其实处处是坑
前端·javascript·vue.js
小白学大数据26 分钟前
绕过拼多多 App 反抓包机制的综合逆向解决方案
开发语言·爬虫·python·自动化
使者大牙27 分钟前
【单点知识】 Python装饰器介绍
开发语言·数据库·python
带土129 分钟前
2. C++ private、protected、public
开发语言·c++
我不是8神32 分钟前
字节跳动 Eino 框架(Golang+AI)知识点全面总结
开发语言·人工智能·golang
古城小栈34 分钟前
Rust复合类型 四大军阀:数、元、切、串
开发语言·后端·rust
Filotimo_35 分钟前
那在HTML中,action是什么
前端·okhttp·html