---
# System prepended metadata

title: Untitled

---

## constructor function
寫法：
```
function Person (name) {
    this.name = name
}
John = new Person('John')
``` 
使用 new 關鍵字的時候，JS 做了三件事情：
1. 在函式內宣告一個空物件 this
2. 執行 this.name = name
3. 回傳物件 this

```
function Person (name) {
    const this = {} // 這行 JS 幫你做
    this.name = name
    return obj // 這行 JS 幫你做
}
John = new Person('John')
```