๐Ÿ‘ฉ‍๐Ÿ’ปProgramming/JavaScript

[js] ๋ณ€์ˆ˜์™€ ๋Œ์—ฐ๋ณ€์ด

taesooya 2023. 5. 22.

 

 

 

๋ณ€์ˆ˜ ์„ ์–ธ: 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

๋Œ“๊ธ€