๐๐ JavaScript์ ๊ฐ์ธ ๋ณ์ ๋ฐ ๋ฉ์๋
2984 ๋จ์ด reactvuewebdevjavascript
๋งค์ฐ ๊ฐ๋จํฉ๋๋ค. ๋ณ์๋ ๋ฉ์๋ ์ด๋ฆ ์์ #์ ๋ถ์ด๋ฉด private๊ฐ ๋ฉ๋๋ค.
class Person {
#salary = 100;
#increaseSalary() {
this.#salary += 1000;
}
}
let p1 = new Person();
console.log(p1.#salary); //Error - Private name #salary is not defined
console.log(p1.#increaseSalary); //Error - Private name #increaseSalary is not defined
๐ Live Demo/Playground
๐ Babel 7.2+ ๋ฒ์ ์์ ์ด ๊ธฐ๋ฅ์ ์ฆ์ ์ง์ํฉ๋๋ค.
๐ ์ด babel ํ๋ฌ๊ทธ์ธ์ ์ค์นํ๊ธฐ๋ง ํ๋ฉด ์ด ๊ธฐ๋ฅ์ ํ์ฑํํ ์๋ ์์ต๋๋ค -
babel-plugin-proposal-private-methods
babel-plugin-proposal-class-properties
Reference
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(๐๐ JavaScript์ ๊ฐ์ธ ๋ณ์ ๋ฐ ๋ฉ์๋), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค https://dev.to/ashvin777/private-variables-methods-in-javascript-2a9gํ ์คํธ๋ฅผ ์์ ๋กญ๊ฒ ๊ณต์ ํ๊ฑฐ๋ ๋ณต์ฌํ ์ ์์ต๋๋ค.ํ์ง๋ง ์ด ๋ฌธ์์ URL์ ์ฐธ์กฐ URL๋ก ๋จ๊ฒจ ๋์ญ์์ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ ์ธ ๋ฐ๊ฒฌ์ ์ ๋ (Collection and Share based on the CC Protocol.)
์ข์ ์นํ์ด์ง ์ฆ๊ฒจ์ฐพ๊ธฐ
๊ฐ๋ฐ์ ์ฐ์ ์ฌ์ดํธ ์์ง
๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ํ์ ์ฌ์ดํธ 100์ ์ถ์ฒ ์ฐ๋ฆฌ๋ ๋น์ ์ ์ํด 100๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค