์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- ์๊ณ ๋ฆฌ์ฆ
- svgํ์ผ ๋ค๋ฃจ๊ธฐ
- ๋ถ์คํธ์ปจํผ๋ฐ์ค
- ๋๋๊ทธ ์ด๋ฒคํธ
- Node.js
- ๋ฐฑ์ค
- DP
- ์ด๋ถํ์
- TypeScript
- JavaScript
- ์ด๋ฏธ์ง ์์
- router v6
- ์นด์นด์ค์ฑ์ฉ
- React
- ํ๋ก๊ทธ๋๋จธ์ค
- ๋ฆฌ๋์ค ํดํท
- ์ฝ๋ ํฌ๋ฉง
- Redux toolkit
- ๋ถ์คํธ์บ ํ์น๋ชจ๋ฐ์ผ
- ์๋ฐ์คํฌ๋ฆฝํธ
- ๊ณผ์ ํ ์คํธ
- custom hook
- icecandidate
- ์ฝ๋ฉํ ์คํธ
- ์๋ฐฉํฅ ์ฐ๊ฒฐ ๋ฆฌ์คํธ
- js
- ์นด์นด์ค
- ์ฝํ
- ๋ธ๋ฃจํธํฌ์ค
- ๋์ ๊ณํ๋ฒ
- Today
- Total
๐ฅ dev-ruby
[์๋ฐ์คํฌ๋ฆฝํธ] ๋ณ์ ์ค์ฝํ ์ดํดํ๊ธฐ | var, let, const ๋ณธ๋ฌธ
[์๋ฐ์คํฌ๋ฆฝํธ] ๋ณ์ ์ค์ฝํ ์ดํดํ๊ธฐ | var, let, const
ruby_s 2021. 12. 21. 15:35์๋ ๊ธ์ ์ฝ๊ณ ์ค๋ฉด ์ดํด๊ฐ ๋ ์ฌ์ธ ๊ฒ์ด๋ค
var
var ํค์๋๋ก ์ ์ธ๋ ๋ณ์๋ ํจ์ ์ค์ฝํ์ ์ข ์๋๋ค.
for ๋ฃจํ ๋ด์์ ์ ์ธ๋ var๋ for ๋ฃจํ ๋ฐ์์๋ ์ฌ์ฉํ ์ ์๋ค.
let
let ํค์๋๋ก ์ ์ธ๋ ๋ณ์๋ ๋ธ๋ก ์ค์ฝํ๋ก ์ข ์๋๋ค.
๋ณ์๊ฐ ์ ์ธ๋ ๋ธ๋ก๊ณผ ๊ทธ ํ์ ๋ธ๋ก ๋ด์์๋ง ์ฌ์ฉํ ์ ์๋ค.
var ์ let ์ ์ฐจ์ด
: let์ x๋ฅผ ๋ธ๋ก ์ค์ฝํ๋ด์์ ์ฌ์ ์ธํ์ฌ ๊ฐ์ ์ฌํ ๋น ํ ๊ฒฝ์ฐ ๋ฎ์ด์จ์ง์ง ์์ง๋ง,
var๋ ๋ธ๋ก ์ค์ฝํ ์ธ๋ถ์์ ์ ๊ทผ์ด ๊ฐ๋ฅํ๋ฏ๋ก ์ฌํ ๋นํ ๊ฒฝ์ฐ ๊ฐ์ด ๋ฎ์ด์จ์ง๋ค.
// let
let x = "global";
if(x === "global"){
let x = "block-scoped";
console.log(x); // block-scoped
}
console.log(x); // global
// var
var x = "global";
if(x === "global"){
var x = "block-scoped";
console.log(x); // block-scoped
}
console.log(x); // block-scoped
const
let๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ธ๋ก ์ค์ฝํ์ ์ข ์๋์ง๋ง ๊ฐ์ ์ฌํ ๋นํ ์ ์๊ณ , ๋ค์ ์ ์ธ๋ ์๋ ์๋ค.
const์ ๊ฐ์ฒด๊ฐ ๋ด๊ฒผ๋ค๋ฉด?
const person = {
name: "Alberto",
age: 25,
}
person.age = 26;
console.log(person.age); // 26
์ด ๊ฒฝ์ฐ ๋ณ์ ์ ์ฒด๋ฅผ ์ฌํ ๋นํ๋ ๊ฒ์ด ์๋ ์์ฑ ์ค ํ๋๋ง ์ฌํ ๋นํ๋ ๊ฒ์ด๋ฏ๋ก ๋ฌธ์ ๊ฐ ๋์ง ์๋๋ค.
-> ๊ฐ์ฒด๊ฐ ๋ณ๊ฒฝ๋์ง ๋ชปํ๊ฒ ํ๋๋ฒ
const person = {
name: "Alberto",
age: 25,
}
Object.freeze(person);
person.age = 26;
console.log(person.age); // 25
TDZ : ์ผ์์ ๋นํ์ฑํ ๊ตฌ์ญ
console.log(i); // undefined
var i = "I am a variable";
console.log(j); // Reference Error
let j = "I am a let";å
var๋ ์ ์๋๊ธฐ ์ ์ ์ ๊ทผํ ์ ์๋ค. ํ์ง๋ง, ๊ทธ ๊ฐ์๋ ์ ๊ทผํ ์ ์๋ค.
let๊ณผ const๋ ์ ์๋๊ธฐ ์ ์ ์ ๊ทผํ ์ ์๋ค.
var๊ฐ ๊ฐ์ง๋ ๊ฐ์ฅ ํฐ ์ฐจ์ด์ ์ ์ ์๋๊ธฐ ์ ์๋ ์ ๊ทผํ ์ ์๋ค๋ ์ ์ด๋ค. ์ ์๋๊ธฐ ์ ์๋ undefined๊ฐ์ ๊ฐ๋๋ค.
๋ฐ๋ฉด, let์ ๊ฒฝ์ฐ ๋ณ์๊ฐ ์ ์ธ๋ ๋๊น์ง TDZ๊ตฌ์ญ์ ์๊ฒ ๋๋ค. ๋ฐ๋ผ์, ์ด๊ธฐํ ์ ์ ์ ๊ทผ ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค.
undefined๊ฐ๋ณด๋ค ์๋ฌ๊ฐ ๋ฐ์ํ๋ ํธ์ด ์ฝ๋ ๋๋ฒ๊น ์ด ๋ ์ฝ๋ค.