๋ณ์ ์ ์ธ: var, let, const - ์๋ฐ์คํฌ๋ฆฝํธ์์์ ๊ธฐ๋ณธ ๊ฐ๋
๋ณ์ ์ ์ธ์ ์๋ฐ์คํฌ๋ฆฝํธ์์ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๊ฐ๋ ์ค ํ๋์ ๋๋ค. ์ด ๊ธ์์๋ ์๋ฐ์คํฌ๋ฆฝํธ์์ ๋ณ์๋ฅผ ์ ์ธํ๋ ๋ฐ ์ฌ์ฉ๋๋ var, let, const ์ธ ๊ฐ์ง ํค์๋์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. ๊ฐ ํค์๋์ ์๋ ๋ฐฉ์, ์ฅ๋จ์ , ๊ทธ๋ฆฌ๊ณ ๋ณ์ ์ ์ธ ์ ์ฃผ์์ฌํญ์ ๋ํด ์์ธํ ์์๋ณด์ธ์.
var ํค์๋
var ํค์๋๋ ์๋ฐ์คํฌ๋ฆฝํธ์์ ๊ฐ์ฅ ์ค๋๋ ๋ณ์ ์ ์ธ ํค์๋์ ๋๋ค. var ํค์๋๋ ํจ์ ๋ฒ์๋ฅผ ๊ฐ์ง๋ฉฐ, ์ด๋์์๋ ์ ์ธํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ var ํค์๋๋ ๋ช ๊ฐ์ง ๋จ์ ์ด ์์ต๋๋ค. ๋ณ์๊ฐ ์ ์ธ๋๊ธฐ ์ ์ ์ฐธ์กฐํด๋ ์๋ฌ๊ฐ ๋ฐ์ํ์ง ์์ผ๋ฉฐ, ๋ธ๋ก ๋ฒ์๊ฐ ์๊ณ ํจ์ ๋ด์์ ์ฌ๋ฌ ๋ฒ ์ ์ธํ ์ ์์ต๋๋ค.
let ํค์๋
let ํค์๋๋ ES6์์ ๋์ ๋ ์๋ก์ด ๋ณ์ ์ ์ธ ํค์๋์ ๋๋ค. let ํค์๋๋ ๋ธ๋ก ๋ฒ์๋ฅผ ๊ฐ์ง๋ฉฐ, ํน์ ๋ธ๋ก ๋ด์์๋ง ์ ์ธํ ์ ์์ต๋๋ค. let ํค์๋๋ var ํค์๋๋ณด๋ค ์์ ํ๊ณ ํจ์จ์ ์ ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์๋ฐ์คํฌ๋ฆฝํธ์์ ๋ณ์๋ฅผ ์ ์ธํ๋ ๋ฐ ์ ํธ๋๋ ๋ฐฉ๋ฒ์ ๋๋ค.
const ํค์๋
const ํค์๋๋ ES6์์ ๋์ ๋ ๋ ๋ค๋ฅธ ๋ณ์ ์ ์ธ ํค์๋์ ๋๋ค. const ํค์๋๋ ๋ธ๋ก ๋ฒ์๋ฅผ ๊ฐ์ง๋ฉฐ, ๋ณ์์ ๊ฐ์ ๋ณ๊ฒฝํ ์ ์๋ ์์๋ฅผ ์ ์ธํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. let ํค์๋์ ์ ์ฌํ์ง๋ง ๋ณ์์ ๊ฐ์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. ์ด๋ฌํ ์ด์ ๋ก const ํค์๋๋ ๋ณ์๋ฅผ ์์๋ก ์ ์ธํ ๋ ์ฌ์ฉ๋ฉ๋๋ค.
var | ํจ์ | ์ด๋์๋ | ๊ฐ๋ฅ | ๊ฐ๋ฅ |
let | ๋ธ๋ก | ๋ธ๋ก ๋ด์์ | ๊ฐ๋ฅ | ๋ถ๊ฐ๋ฅ |
const | ๋ธ๋ก | ๋ธ๋ก ๋ด์์ | ๋ถ๊ฐ๋ฅ | ๋ถ๊ฐ๋ฅ |
์ฃผ์์ฌํญ
์๋ฐ์คํฌ๋ฆฝํธ์ ์ ์ฐ์ฑ์ ๊ฐ๋ฐ์์๊ฒ ๋ง์ ์ฅ์ ์ ์ ๊ณตํ์ง๋ง, ๋ณ์ ์ ์ธ์ ์ฌ์ฉ๋๋ ํค์๋์ ์ฌ์ฉ ๋ฐฉ๋ฒ์ ์ฃผ์๊ฐ ํ์ํฉ๋๋ค. ๋ณ์๋ฅผ ์ ์ธํ ๋ ํค์๋์ ์ฅ๋จ์ ์ ๊ณ ๋ คํด์ผ ํฉ๋๋ค. ๋ํ, ๋์ฐ๋ณ์ด(๊ธฐ์กด ๋ฐ์ดํฐ ๊ตฌ์กฐ ๋ณ๊ฒฝ)๋ฅผ ์ง์ํ๊ณ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ์ฌ๋ณธ์ ๋ง๋ค์ด ๋ณ๊ฒฝํ๋ ๊ฒ์ด ์ข์ต๋๋ค. slice(), splice()์ ๊ฐ์ ๋ฐฐ์ด ์กฐ์ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ์ผ๊ด์ฑ์ ์ ์งํ์ธ์.
slice() ๋ฉ์๋๋ ๋ฐฐ์ด์์ ์์๋ฅผ ์ถ์ถํ์ฌ ์ ๋ฐฐ์ด์ ์์ฑํ๋ ๋ฐ ์์ฃผ ์ฌ์ฉ๋ฉ๋๋ค. splice() ๋ฉ์๋๋ ๋ฐฐ์ด์์ ์์๋ฅผ ์ญ์ ํ๊ณ ๋ค๋ฅธ ์์๋ฅผ ์ถ๊ฐํ์ฌ ์๋ณธ ๋ฐฐ์ด์ ๋ณ๊ฒฝํ๋ ๋ฐ ์์ฃผ ์ฌ์ฉ๋ฉ๋๋ค. toSpliced() ๋ฉ์๋๋ ๋ฐฐ์ด์์ ์์๋ฅผ ์ญ์ ํ๊ณ ๋ค๋ฅธ ์์๋ฅผ ์ถ๊ฐํ ๋ค์ ์ ๋ฐฐ์ด์ ๋ฐํํ๋ ๋ฐ ์์ฃผ ์ฌ์ฉ๋ฉ๋๋ค. ์ด๋ฌํ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ์กฐ์ํ ๋๋ ํญ์ ์๋ณธ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ์ํฅ์ ์ฃผ๋์ง ํ์ธํด์ผ ํฉ๋๋ค
const arr = [1, 2, 3, 4, 5];
const newArr = arr.slice(1, 3); // [2, 3]
const newArr = arr.splice(1, 2); // [2, 3], arr = [1, 5]
const newArr = arr.toSpliced(1, 2); // [2, 3, 4], arr = [1, 5]
๊ฒฐ๋ก
๋ณ์ ์ ์ธ์ ์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ๋ฐ์์ ํต์ฌ ๊ฐ๋ ์ค ํ๋์ ๋๋ค. var, let, const ํค์๋๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ์ฌ์ฉํ๊ณ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ์์ ํ ๋ ์๋ณธ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ๋ณ๊ฒฝํ์ง ์๋๋ก ์ฃผ์ํ์ธ์. ์ด๋ฅผ ํตํด ์ผ๊ด์ฑ ์๋ ์ฝ๋๋ฅผ ์ ์งํ๊ณ ๋ฒ๊ทธ๊ฐ ์๋ ์ฝ๋๋ฅผ ๋ฐฉ์งํ ์ ์์ต๋๋ค
https://www.youtube.com/watch?v=e6WV_DXGwSg
.
'๐ฉโ๐ปProgramming > JavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JS] ์ฝ๋ ์์ฑ tips (0) | 2023.02.04 |
---|
๋๊ธ