๐ย Reference
๐ย Chapter
private์ ๊ฐ๋ฐ์์ ์ค์๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํ 'ํ์
์์คํ
'์ ๊ท์น์ผ ๋ฟ์ด๋ค.class Users {
private secret: string = "๋ด ๋น๋ฐ๋ฒํธ";
}
const user = new Users();
// โ ์๋ฌ: TypeScript ์ปดํ์ผ๋ฌ๊ฐ ์๋ฌ๋ฅผ ๋ฟ์ต๋๋ค.
console.log(user.secret);
// ๊ผผ์ 1: ํ์
์ ์์๋ก ๋ฐ๊พธ๋ฉด ์ ๊ทผ ๊ฐ๋ฅํฉ๋๋ค.
console.log((user as any).secret); // "๋ด ๋น๋ฐ๋ฒํธ" ์ถ๋ ฅ๋จ!
// ๊ผผ์ 2: ๋๊ดํธ ํ๊ธฐ๋ฒ์ ์ฐ๋ฉด ์ ๊ทผ ๊ฐ๋ฅํฉ๋๋ค.
console.log(user['secret']); // "๋ด ๋น๋ฐ๋ฒํธ" ์ถ๋ ฅ๋จ!
private์ด๋ผ๋ ํค์๋๋ ํ์ ๋ ์์ด ์ฌ๋ผ์ง๊ณ ์ผ๋ฐ ๊ฐ์ฒด ์์ฑ์ผ๋ก ๋ณํ๊ธฐ ๋๋ฌธ์ด๋ค.# ๋ฌธ๋ฒ์ ์ง์ํ๋ฏ๋ก, ์๋ฒฝํ ์บก์ํ๊ฐ ํ์ํ๋ค๋ฉด TypeScript ์ฝ๋ ์์์๋ private ๋์ #์ ์ฌ์ฉํ๋ฉด ๋๋ค.| ํน์ง | TypeScript private | JavaScript # (Private Field) |
|---|---|---|
| ์ฒดํฌ ์์ | ์ปดํ์ผ ์์ (์ฝ๋ ๋น๋ํ ๋) | ๋ฐํ์ ์์ (๋ธ๋ผ์ฐ์ /Node.js์์ ์คํํ ๋) |
| ๋ฐํ์ ๊ฐ์ ๋ ฅ | ์์ (JS๋ก ๋ณํ๋๋ฉด ์ผ๋ฐ public์ฒ๋ผ ๋ฐ๋) |
์์ (์คํ ์ค์๋ ์ ๋ ์ ๊ทผ ๋ถ๊ฐ) |
| ๋ฌธ๋ฒ | private myField: string; |
#myField: string; |
| ๋๊ดํธ ์ ๊ทผ | ๊ฐ๋ฅ (obj['myField']๋ก ์ฐํ ๊ฐ๋ฅ) |
๋ถ๊ฐ๋ฅ (๋ฌธ๋ฒ ์๋ฌ ๋ฐ์) |
| ์ถ์ ์๊ธฐ | TypeScript ์ด๊ธฐ๋ถํฐ ์ง์ | ECMAScript 2022(ES2022) ํ์ค ์คํ |