์ƒˆ์†Œ์‹

FrontEnd/JavaScript

[JavaScript] var, let, const ์ฐจ์ด์ 

  • -

๐Ÿฃ var · let · const ์— ๋Œ€ํ•ด์„œ ์‚ดํŽด๋ณด์ž!


Javascript ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” var let const ! ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ์ดˆ ๊ฐœ๋… ์ค‘์— ๋นผ ๋†“์„ ์ˆ˜ ์—†๋Š” ๊ฒƒ์— ๋Œ€ํ•ด์„œ ๋‹ค๋ค„๋ณด๊ธฐ๋กœ ํ•˜์ž! 

 

var ์ด์ œ๋Š” varvar

 

๐Ÿฃ var 


1. ๊ฐœ๋… ๋ฐ ํŠน์ง•

ํ•จ์ˆ˜ ์Šค์ฝ”ํ”„๋ฅผ ๊ฐ–๊ณ  ์žˆ์œผ๋ฉฐ ๋ณ€์ˆ˜๋ฅผ ์ค‘๋ณต ์„ ์–ธํ•ด๋„ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š”๋‹ค.

 

ํ•จ์ˆ˜ ์Šค์ฝ”ํ”„ / ์ „์—ญ ์Šค์ฝ”ํ”„

var์˜ ๊ฒฝ์šฐ let, const์™€ ๋‹ฌ๋ฆฌ ๋ธ”๋ก ์Šค์ฝ”ํ”„๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์Œ. ํ•จ์ˆ˜ ์Šค์ฝ”ํ”„์ด๊ฑฐ๋‚˜ ์ „์—ญ ์Šค์ฝ”ํ”„! ๋”ฐ๋ผ์„œ ํ•จ์ˆ˜๊ฐ€ ์•„๋‹Œ ๋ธ”๋ก ์•ˆ์—์„œ var ๋ณ€์ˆ˜๋ฅผ ์ •์˜ํ•˜๋ฉด ํ•ด๋‹น ๋ธ”๋ก ๋ฐ–์—์„œ๋„ ์ด ๋ณ€์ˆ˜์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค.

 

var๋Š” ์ค‘๋ณต์„ ์–ธ

var๋Š” ์ค‘๋ณต์„ ์–ธ์ด ๊ฐ€๋Šฅํ•˜์ง€๋งŒ ๋‘๋ฒˆ์งธ ์„ ์–ธ์€ ๋ฌด์‹œ๋˜๋ฉฐ, ์—๋Ÿฌ๋Š” ๋ฐœ์ƒํ•˜์ง€ ์•Š์Œ.

 

2. ์ฝ”๋“œ

function varExample() {
    var ๋ณ€์ˆ˜ = 1;
    if (true) {
        var ๋ณ€์ˆ˜ = 2; // ๊ฐ™์€ ๋ณ€์ˆ˜
        console.log(๋ณ€์ˆ˜); // 2
    }
    console.log(๋ณ€์ˆ˜); // 2
}
varExample();

var ๋ณ€์ˆ˜2 = 10;
var ๋ณ€์ˆ˜2 = 20; // ์˜ค๋ฅ˜ ์—†์Œ

console.log(๋ณ€์ˆ˜2); // 20

 

๐Ÿฃ let


1. ๊ฐœ๋…

๋ธ”๋ก ์Šค์ฝ”ํ”„

let๊ณผ const๋Š” ๋ธ”๋ก ์Šค์ฝ”ํ”„๋ฅผ ๊ฐ–๋Š”๋‹ค. 

 

์ค‘๋ณต์„ ์–ธ X

let๊ณผ const๋Š” ์ค‘๋ณต์„ ์–ธ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๊ณ  ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

 

์žฌ์„ ์–ธX, ์žฌํ• ๋‹น O

let๊ณผ const๋Š” ๋ชจ๋‘ ์žฌ์„ ์–ธ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. ์ฆ‰ ๊ฐ™์€ ์Šค์ฝ”ํ”„ ๋‚ด์—์„œ ๊ฐ™์€ ๋ณ€์ˆ˜ ์ด๋ฆ„์œผ๋กœ ๋ณ€์ˆ˜๋ฅผ ๋‹ค์‹œ ์„ ์–ธํ•˜๋Š” ๊ฒƒ์ด ํ—ˆ์šฉ๋˜์ง€ ์•Š๋Š”๋‹ค.

let์˜ ๊ฒฝ์šฐ ์žฌํ• ๋‹น์ด ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ•œ๋ฒˆ ์„ ์–ธํ•œ ๋ณ€์ˆ˜์— ๋‹ค๋ฅธ ๊ฐ’์„ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๋งŒ์•ฝ ์„ ์–ธ๊ณผ ํ• ๋‹น์— ๋Œ€ํ•œ ๊ฐœ๋…์ด ๋ถ€์กฑํ•˜๋‹ค๋ฉด, ๊ฒŒ์‹œ๋ฌผ ์ฐธ๊ณ !

 

[JavaScript] ๋ณ€์ˆ˜์˜ ์„ ์–ธ, ์ดˆ๊ธฐํ™”, ํ• ๋‹น

๐Ÿฃ 0. ๋ณ€์ˆ˜์˜ ์„ ์–ธ, ์ดˆ๊ธฐํ™” ํ• ๋‹น?ใ…‡?์˜ค๋Š˜์€ ๋ณ€์ˆ˜์˜ ์„ ์–ธ, ์ดˆ๊ธฐํ™”, ํ• ๋‹น์— ๋Œ€ํ•ด์„œ ์‚ดํŽด๋ณด๋„๋ก ํ•˜๊ฒ ๋‹ค! ๋ฉด์ ‘ ์งˆ๋ฌธ์œผ๋กœ ๋‚˜์˜ค๋Š” ๊ฐœ๋… ์ค‘ ํ•˜๋‚˜! ์•„๋ž˜์—์„œ ์ฒœ์ฒœํžˆ ํ•˜๋‚˜์”ฉ ์‚ดํŽด๋ณด์ž! ๐Ÿฃ 1. ๋ณ€์ˆ˜ ์„ ์–ธ๐Ÿค

haileyham.tistory.com

 

 

2. ์ฝ”๋“œ

function letExample() {
    let x = 1;
    if (true) {
        let x = 2; // ๋‹ค๋ฅธ ๋ณ€์ˆ˜
        console.log(x); // 2
    }
    console.log(x); // 1
}
letExample();

let y = 10;

// let y = 20; // ์˜ค๋ฅ˜: 'y'๋ผ๋Š” ์‹๋ณ„์ž๊ฐ€ ์ด๋ฏธ ์„ ์–ธ๋จ
y = 20; // ์žฌํ• ๋‹น์€ ํ—ˆ์šฉ

console.log(y); // 20

 

๐Ÿฃ const


1. ๊ฐœ๋…

๋ธ”๋ก ์Šค์ฝ”ํ”„

let๊ณผ const๋Š” ๋ธ”๋ก ์Šค์ฝ”ํ”„๋ฅผ ๊ฐ–๋Š”๋‹ค. 

 

์ค‘๋ณต์„ ์–ธ X

let๊ณผ const๋Š” ์ค‘๋ณต์„ ์–ธ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๊ณ  ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

 

์žฌ์„ ์–ธX, ์žฌํ• ๋‹น X

let๊ณผ const๋Š” ๋ชจ๋‘ ์žฌ์„ ์–ธ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. ์ฆ‰ ๊ฐ™์€ ์Šค์ฝ”ํ”„ ๋‚ด์—์„œ ๊ฐ™์€ ๋ณ€์ˆ˜ ์ด๋ฆ„์œผ๋กœ ๋ณ€์ˆ˜๋ฅผ ๋‹ค์‹œ ์„ ์–ธํ•˜๋Š” ๊ฒƒ์ด ํ—ˆ์šฉ๋˜์ง€ ์•Š๋Š”๋‹ค.

const์˜ ๊ฒฝ์šฐ ์ƒ์ˆ˜๋กœ์„œ ํ•œ ๋ฒˆ ๊ฐ’์ด ํ• ๋‹น๋˜๋ฉด ์žฌํ• ๋‹น์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.

 

2. ์ฝ”๋“œ

function constExample() {
    const x = 1;
    if (true) {
        const x = 2; // ๋‹ค๋ฅธ ๋ณ€์ˆ˜
        console.log(x); // 2
    }
    console.log(x); // 1
}
constExample();

const y = 10;

// const y = 20; // ์˜ค๋ฅ˜: 'y'๋ผ๋Š” ์‹๋ณ„์ž๊ฐ€ ์ด๋ฏธ ์„ ์–ธ๋จ
// y = 20; // ์˜ค๋ฅ˜: ์ƒ์ˆ˜ ๋ณ€์ˆ˜์— ๊ฐ’์„ ํ• ๋‹นํ•  ์ˆ˜ ์—†์Œ

console.log(y); // 10

 

 

๐Ÿฃ var · let · const  ์š”์•ฝ!


var
ํ•จ์ˆ˜ ์Šค์ฝ”ํ”„๋ฅผ ๊ฐ–๊ณ  ์žˆ์œผ๋ฉฐ ๋ณ€์ˆ˜๋ฅผ ์ค‘๋ณต ์„ ์–ธํ•ด๋„ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒX

let

๋ธ”๋ก ์Šค์ฝ”ํ”„๋ฅผ ๊ฐ–๊ณ  ์žˆ์œผ๋ฉฐ ์ค‘๋ณต ์„ ์–ธ์€ ํ—ˆ์šฉ๋˜์ง€ ์•Š๊ณ , ๋ณ€์ˆ˜์˜ ๊ฐ’์„ ๋ณ€๊ฒฝ O(์žฌ์„ ์–ธX, ์žฌํ• ๋‹นO)

const

๋ธ”๋ก ์Šค์ฝ”ํ”„๋ฅผ ๊ฐ–๊ณ  ์žˆ์œผ๋ฉฐ ์ƒ์ˆ˜๋กœ, ํ•œ ๋ฒˆ ์„ ์–ธํ•˜๊ณ  ๋‚˜๋ฉด ์žฌํ• ๋‹น์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋ฉฐ ๊ฐ’์„ ๋ณ€๊ฒฝ X
(์žฌ์„ ์–ธX, ์žฌํ• ๋‹นX)

 

 

 

 

 

์˜ค๋Š˜๋„ ๋พฐ๋กœ๋กฑ! var์€ ์ด์ œ varvar!
Contents

ํฌ์ŠคํŒ… ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค

์ด ๊ธ€์ด ๋„์›€์ด ๋˜์—ˆ๋‹ค๋ฉด ๊ณต๊ฐ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.