๐ ์ ์น ์ฐ์ฐ์์ ํ์น ์ฐ์ฐ์์ ๋ํด ์์๋ณด์
๊ฐ๋ ์์ฒด๋ ์ด๋ ค์ด ํธ๋ ์๋๊ณ ๋ด์ฉ๋ ๋ง์ง ์์๋ฐ ๊ธฐ๋ก์ ๋จ๊ธฐ๋ ์ด์ ๋ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ๋ฅผ ํ๋ค ๋ณด๋ฉด ํท๊ฐ๋ฆฌ๋ ๊ฒฝ์ฐ๊ฐ ์๊ธฐ ๋๋ฌธ์ด๋ค. ์ ์น ์ฐ์ฐ์์ ํ์น ์ฐ์ฐ์๋ฅผ ์ ํ์ฉํ ๋ฌธ์ ๋ ํฌ ํฌ์ธํฐ ๊ฐ๋ ์ ํ์ฉํ ๋ ๋ฐฐ์ด ํฉ์น๊ธฐ ๋ฌธ์ ์๋ค.
- ์ ์น์ฐ์ฐ์(prefix form): ์ฐ์ฐ์(
++x
,--x
)๊ฐ ๋ณ์ ์์ ์ค๋๊ฒฝ์ฐ ์ ์น ํํ์ด๊ณ ,์ฆ๊ฐ/๊ฐ์
๊ฐ ๋จผ์ ์ด๋ฃจ์ด์ง๊ณ ๊ฐ์ ๋ฆฌํดํจ. - ํ์น ์ฐ์ฐ์(postfix form): ์ฐ์ฐ์(
x++
,x--
)๊ฐ ๋ณ์ ๋ค์ ์ค๋๊ฒฝ์ฐ ํ์น ํํ์ด๊ณ ,์ฆ๊ฐ/๊ฐ์
์ด์ ์ ๋จผ์ ๊ฐ์ ๋ฆฌํดํจ.
์์์ ์ดํด๋ณธ ๊ฐ๋
์ ํ ๋๋ก ์ ๊น ๋ฌธ์ ๋ฅผ ํ์ด๋ณด์. ์ด๋ค ๋ต์ด ๋์ฌ์ง ํ๋ฒ ์๊ฐํด๋ณด์. ์ ๋ชจ๋ฅด๊ฒ ๋ค๋ฉด ๋๋๊ทธ๋ฅผ ํด๋ณด์. ์์ 1
์ counter
์ a
์ ๊ฐ ๋ชจ๋ 2๋ค. ์๋ํ๋ฉด ++counter
๋ก ์ธํด counter
๋ ๊ฐ์ด 1์ฆ๊ฐํ๊ณ , a
๋ ์ฆ๊ฐํ ๊ฐ์ ๋ณ์๋ก ์ ์ฅํ๊ธฐ ๋๋ฌธ์ด๋ค. ์์ 2
๋ ์กฐ๊ธ ๋ค๋ฅด๊ฒ counter
์ ๊ฐ์ 1, b
์ ๊ฐ์ 2์ด๋ค. ์๋ํ๋ฉด counter++
๋ counter
๋ณ์์ ๊ฐ์ ๋ณํจ์ด ์๊ณ b
์ ๋ณ์๋ง counter
์์ 1 ๋ํ ๊ฐ์ ๋ณ์๋ก ์ง์ ํ๊ธฐ ๋๋ฌธ์ด๋ค.
// ์์ 1 let counter = 1; let a = ++counter; console.log(counter, a); ๐๐ฝ 2 2 // ์์ 2 let counter = 1; let b = counter++; console.log(counter, b); ๐๐ฝ 1 2
๋๊ธ