ํ์ํ ์ฌ๋ฃ๋ค์ ๋ฃ์ด์ฃผ๊ณ ์ฐ์ด๋ด๋ ๋ถ์ด๋นต ํ๊ณผ ๊ฐ์ต๋๋ค.
๋ฌธ๋ฒ
function User(name, age){ // ์ฒซ ๊ธ์๋ ๋๋ฌธ์๋ก
this.name = name;
this.age = age;
}
let user1 = new User("Mike", 30);
let user2 = new User("Jan", 17);
let user3 = new User("Tom", 20);
- new ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ํธ์ถ
์ฌ์ฉํ๋ ์ด์
- ๊ฐ์ฒด ๋ฆฌํฐ๋ด { ... } ์ ์ฌ์ฉํ๋ฉด ๊ฐ์ฒด๋ฅผ ์ฝ๊ฒ ๋ง๋ค ์ ์์ต๋๋ค. ํ์ง๋ง
์ผ์ผ์ด ๊ฐ์ฒด๋ฅผ ๋ง๋๋ ๊ฒ๋ณด๋ค ํจ์ฌ ๋น ๋ฅด๊ณ ์ผ๊ด์ฑ ์๊ฒ ๋ง๋ค ์ ์์ต๋๋ค.
๋์ ์๋ฆฌ
function User(name, age){
// this = {}; -> ๋น ๊ฐ์ฒด๊ฐ ์์์ ์ผ๋ก ๋ง๋ค์ด์ง
// ์๋ก์ด ํ๋กํผํฐ์ this์ ์ถ๊ฐ
this.name = name;
this.age = age;
// return this;
}
new ํจ์๋ช
();
- new ํจ์๋ช () ์ ์คํํ๋ฉด
- this = {} ๋น ๊ฐ์ฒด๋ฅผ ๋ง๋ญ๋๋ค.
- this์ ํ๋กํผํฐ๋ค์ ์ถ๊ฐํฉ๋๋ค.
- ๋ง์ง๋ง์ผ๋ก return this ๋ฅผ ๋ฐํํฉ๋๋ค.
- 2๋ฒ๊ณผ 4๋ฒ์ ์ฝ๋ ์์๋ ์กด์ฌํ์ง ์์ผ๋ ์์ ๊ฐ์ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ๋์ ํฉ๋๋ค.
์ฐธ๊ณ
'๐ Front-End > JavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํด๋ก์ (closure) (0) | 2022.11.16 |
---|---|
class (0) | 2022.11.16 |
Event Loop (0) | 2022.11.16 |
์ด๋ฒคํธ ๋ฒ๋ธ๋ง, ์ด๋ฒคํธ ์บก์ฒ๋ง, ์ด๋ฒคํธ ์์ (0) | 2022.11.16 |
Callback Function (0) | 2022.11.16 |