# 章序号/节序号/节/笔记序号
objects, advanced objects
# 概念阐释
## 语义
在JavaScript中虽然没有**私有**属性和方法,但有一个约定俗成的用法`_`虽然这不能阻止开发人员访问和修改,但是一种隐私信号。
这种属性必须用[[js objects get方法获取属性|get]]来访问,用[[js objects set方法更新属性|set]]来修改。
如果在调用时写成`obj._privaceProperty`是可以访问的,但是这违反了封装原则,而如果写成`obj.privaceProperty`,则会显示`undefined`。
## 语法
```js
let obj = {
_privacyProperty: ,
_privacyMethod(){
}
}
```
# 举例子

- 隐私属性仍然可以重新赋值
- 还会有副作用,会答应出奇怪的字符,见本课[练习题](https://www.codecademy.com/courses/introduction-to-javascript/lessons/advanced-objects/exercises/privacy)
# 类比、比较与对比
# 问题
# 问题答案
# 备注(经验集/错误集)