๐Ÿฆœ Computer Language/JavaScript

[JavaScript] var๋ฅผ ์ง€์–‘ํ•ด์•ผํ•˜๋Š” ์ด์œ 

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ณต๋ถ€๋ฅผ ํ•˜๋‹ค๋ณด๋‹ˆ var ๋Œ€์‹  let์ด๋‚˜ const๋ฅผ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋”๋ผ.

 

์šฐ์„ , var์€ ๋™์ผํ•œ ๋ณ€์ˆ˜ ์ด๋ฆ„์œผ๋กœ ๋‹ค๋ฅธ ๊ฐ’์„ ๋‹ด์•„๋„ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š”๋‹ค. ์ด ๋•Œ, ๊ฐ€์žฅ ๋งˆ์ง€๋ง‰์— ์„ ์–ธ๋œ name์ด ๋‚˜์˜ค๊ฒŒ ๋œ๋‹ค.

ํŽธํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ, ์‚ฌ์‹ค ๊ต‰์žฅํžˆ ์œ„ํ—˜ํ•œ ๊ธฐ๋Šฅ์ด๋‹ค.

๊ฐœ๋ฐœ ์ค‘ ์ฝ”๋“œ ๊ธธ์ด๊ฐ€ ๊ธธ์–ด์ง€๋‹ค๋ณด๋ฉด ๋‚ด๊ฐ€ ์„ ์–ธํ•ด์ค€ ๋ณ€์ˆ˜ ์ด๋ฆ„์ด ๊ธฐ์–ต์ด ๋‚˜์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ๋Š”๋ฐ, ์ด ๊ณผ์ •์—์„œ ๊ฐ’์ด ๋ฐ”๋€Œ์–ด๋ฒ„๋ฆฐ๋‹ค๋ฉด.. ๊ทธ ๋‚  ์ด์ œ ์šธ๋ฉด์„œ ๋Šฆ๊ฒŒ ์ž๋Š”๊ฑฐ์ž„

var name = "Jedi";
var name = "Yujin";

 

๋ฐ˜๋ฉด, let์€ var๊ณผ ๋‹ค๋ฅด๊ฒŒ ์„ ์–ธํ–ˆ๋˜ ๋ณ€์ˆ˜๋ฅผ ์žฌ์„ ์–ธํ•  ์ˆ˜ ์—†๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ์•„๊นŒ ์–ธ๊ธ‰ํ•œ ์‹ค์ˆ˜๋ฅผ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค.

let name = "Jedi";
let name = "Yujin"; // Error
name = "Yujin";

 

const ์—ญ์‹œ ์„ ์–ธํ–ˆ๋˜ ๋ณ€์ˆ˜๋ฅผ ์žฌ์„ ์–ธํ•  ์ˆ˜ ์—†์œผ๋‚˜, let๊ณผ์˜ ๋‹ค๋ฅธ ์ ์€ '์žฌํ• ๋‹น' ์กฐ์ฐจ ํ•  ์ˆ˜ ์—†๋‹ค๋Š” ์ ์ด๋‹ค.

const๋Š” ํ•œ๋ฒˆ ์„ ์–ธํ•˜๊ฒŒ ๋˜๋ฉด ๊ฐ’์„ ๋ฐ”๊ฟ€ ์ˆ˜ ์—†์–ด const๋กœ ์„ ์–ธ๋œ ๋ณ€์ˆ˜๋ฅผ ํ•ญ์ƒ ๊ฐ™์€ ๊ฐ’์„ ๊ฐ€์ง€๋Š” ์ƒ์ˆ˜๋ผ๊ณ  ํ•œ๋‹ค.

const name; // Error - ์„ ์–ธํ•  ๋•Œ ๋ฌด์กฐ๊ฑด ๊ฐ’์ด ์ง€์ •๋˜์–ด์•ผํ•œ๋‹ค.
const name = "Jedi";
name = "Yujin" // Error