๐ค JavaScript์ ์๋ฃํ๊ณผ JavaScript๋ง์ ํน์ฑ์ ๋ฌด์์ผ๊น ?
๋์จํ ํ์ (loosely typed)์ ๋์ (dynamic) ์ธ์ด
- JavaScript๋ ๋์จํ ํ์ (loosely typed)์ ๋์ (dynamic) ์ธ์ด์ ๋๋ค.
- JavaScript์ ๋ณ์๋ ์ด๋ค ํน์ ํ์ ๊ณผ ์ฐ๊ฒฐ๋์ง ์์ผ๋ฉฐ, ๋ชจ๋ ํ์ ์ ๊ฐ์ผ๋ก ํ ๋น (๋ฐ ์ฌํ ๋น) ๊ฐ๋ฅํฉ๋๋ค.
let foo = 42 // foo๊ฐ ์ซ์
foo = 'bar' // foo๊ฐ ์ด์ ๋ฌธ์์ด
foo = true // foo๊ฐ ์ด์ ๋ถ๋ฆฌ์ธ
JavaScript ํ๋ณํ
var x = "999"; //๋ฌธ์ํ 999
var y = "99.99"; //๋ฌธ์ํ 99.99
var a = parseInt(x); //์ซ์ํ ์ ์ 999
var b = parseInt(y); //์ซ์ํ ์ ์ 99
var a = parseFloat(x); //์ซ์ํ ์ค์ 999
var b = parseFloat(y); //์ซ์ํ ์ค์ 99.99
var a = Number(x); //์ซ์ํ ์ ์ 999
var b = Number(y); //์ซ์ํ ์ค์ 99.99
var x = "a999"; //๋ฌธ์ํ a999
var y = "a99.99"; //๋ฌธ์ํ a99.99
var a = parseInt(x); //์ซ์ํ NaN
var b = ParseInt(y); //์ซ์ํ NaN
var a = parseFloat(x); //์ซ์ํ NaN
var b = parseFloat(y); //์ซ์ํ NaN
var a = Number(x); //์ซ์ํ NaN
var b = Number(y); //์ซ์ํ NaN
โป ๋ฌธ์์ด ๋งจ์์ ๋ฌธ์๋ก ์์ํ๋ฉด ํ๋ณํ์ ํด๋ ๊ฐ์ ์ธ์ํ์ง ๋ชปํ๋ค.
var x = "999a9"; //๋ฌธ์์ด 999a9
var y = "99.9a9"; //๋ฌธ์์ด 99.9a9
var a = parseInt(x); //์ซ์ํ 999
var b = parseInt(y); //์ซ์ํ 99
var a = parseFloat(x); //์ซ์ํ 999
var b = parseFloat(y); //์ซ์ํ 99.9
var a = Number(x); //์ซ์ํ NaN
var b = Number(y); //์ซ์ํ NaN
- ์ซ์ํ์ ๋ฌธ์ํ์ผ๋ก ๋ณํํ๊ธฐ
var ๋ณ์ = String(์ซ์); //์ซ์๋ฅผ ๋ฌธ์๋ก ๋ณํํด์ค
var ๋ณ์ = ์ซ์.toString(์ง๋ฒ); //์ซ์๋ฅผ ๋ฌธ์๋ก ๋ณํํด์ค - ๋ณํํ๋ฉด์ ์ง๋ฒ์ ๋ฐ๊ฟ ์ ์์
var ๋ณ์ = ์ซ์.toFixed(์์์๋ฆฌ์); //์ซ์๋ฅผ ๋ฌธ์๋ก ๋ณํํด์ค - ์ค์ํ์ ์์์ ์๋ฆฌ๋ฅผ ์ง์ ํ ์ ์์
var ๋ณ์ = ์ซ์ + "๋ฌธ์์ด"; //์ซ์์ ๋ฌธ์์ด์ ํ ๋ฌธ์์ด๋ก ๋ํด์ค
var x = 123; //์ซ์ํ 123
var a = String(x); //๋ฌธ์ํ 123
var a = x.toString(); //๋ฌธ์ํ 123
var a = x.toString(2); //๋ฌธ์ํ 1111011(2์ง๋ฒ)
var a = x.toString(16); //๋ฌธ์ํ 7b(16์ง๋ฒ)
var a = x.toFixed(); //๋ฌธ์ํ 123
var a = x.toFixed(1); //๋ฌธ์ํ 123.0
var y = 99.999; //์ซ์ํ 99.999
var a = x.toFixed(); //๋ฌธ์ํ 99
var a = x.toFixed(1); //๋ฌธ์ํ 99.9
var a = x.toFixed(3); //๋ฌธ์ํ 99.999
var a = x.toFixed(4); //๋ฌธ์ํ 99.9990
==, ===
==๋ฅผ ์ฌ์ฉํ๋ฉด ๋ค์๊ณผ ๊ฐ์ ์ฌ์ค์ด ์ฑ๋ฆฝํ๋ค.
254 == '254' // return true
true == 1 // return true
undefined ==null // return true
'abc' ==newString('abc') // return true
null ==false // return false
'true' ==true // return false
true == 2 // return false
===๋ฅผ ์ฌ์ฉํ๋ฉด ๋ค์๊ณผ ๊ฐ์ ์ฌ์ค์ด ์ฑ๋ฆฝํ๋ค.
254 === '254' // return false
true === 1 // return false
undefined ===null // return false
'abc' ===newString('abc') // return false
๋์จํ ํ์ (loosely typed)์ ๋์ (dynamic) ์ธ์ด์ ๋ฌธ์ ์ ์ ๋ฌด์์ด๊ณ ๋ณด์ํ ์ ์๋ ๋ฐฉ๋ฒ์๋ ๋ฌด์์ด ์์์ง ์๊ฐํด๋ณด์ธ์.
- ์คํ ๋์ค์ ๋ณ์์ ์์์น ๋ชปํ ํ์ ์ด ๋ค์ด์ ํ์ ์๋ฌ๊ฐ ๋ฐ์ํ ์ ์์
- ๋์ ํ์ ์ธ์ด๋ ๋ฐํ์ ์ ํ์ธํ ์ ๋ฐ์ ์๊ธฐ ๋๋ฌธ์, ์ฝ๋๊ฐ ๊ธธ๊ณ ๋ณต์กํด์ง ๊ฒฝ์ฐ ํ์ ์๋ฌ๋ฅผ ์ฐพ๊ธฐ๊ฐ ์ด๋ ค์ ์ง๋๋ค.
- ์ด๋ฌํ ๋ถํธํจ์ ํด์ํ๊ธฐ ์ํด TypeScipt๋ Flow ๋ฑ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
undefined์ null์ ์ฐจ์ด์ ์ ์ค๋ช ํ์ธ์
- undefined์ ๋ณ์๋ฅผ ์ ์ธํ๊ณ ๊ฐ์ ํ ๋นํ์ง ์์ ์ํ,
- null์ ๋ณ์๋ฅผ ์ ์ธํ๊ณ ๋น ๊ฐ์ ํ ๋นํ ์ํ(๋น ๊ฐ์ฒด)์ด๋ค.
- ์ฆ, undefined๋ ์๋ฃํ์ด ์๋ ์ํ์ด๋ค.
- ๋ฐ๋ผ์ typeof๋ฅผ ํตํด ์๋ฃํ์ ํ์ธํด๋ณด๋ฉด null์ object๋ก, undefined๋ undefined๊ฐ ์ถ๋ ฅ๋๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
๐ค JavaScript ๊ฐ์ฒด์ ๋ถ๋ณ์ฑ์ด๋ ?
๊ธฐ๋ณธํ ๋ฐ์ดํฐ์ ์ฐธ์กฐํ ๋ฐ์ดํฐ
- ๊ธฐ๋ณธํ ๋ฐ์ดํฐ๋ ๊ฐ์ ๊ทธ๋๋ก ํ ๋นํ๋ค.
- ๋ฉ๋ชจ๋ฆฌ์์ ๊ณ ์ ๋ ํฌ๊ธฐ๋ก ์ ์ฅ๋๋ฉฐ ์์ ๋ฐ์ดํฐ ๊ฐ ์์ฒด๋ฅผ ๋ณด๊ดํ๋ฏ๋ก,
- ๋ถ๋ณ์ ์ด๋ค.
- ๊ธฐ๋ณธ์ ์ผ๋ก ๊ฐ์ ๋ฐ์ดํฐ๋ ํ๋์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ค.(์ฌ์ฌ์ฉ)
- ์ฐธ์กฐ ํ์ ์ ๋ณ์์ ํ ๋นํ ๋ ๊ฐ์ด ์๋ ๋ฐ์ดํฐ์ ์ฃผ์๋ฅผ ์ ์ฅํ๋ค.
- Object
- Array
- const ๋ก ์ ์ธ๋ ๋ณ์ ๋ฐฐ์ด์ Array.push๋ฅผ ์ ์ฉํ ์ ์๋ ์ด์ ๋ ๋ฐฐ์ด์ ์ฐธ์กฐ ํ์ ์ด๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ์ ์ฃผ์๋ฅผ ๋์ ํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
- Function RegExp
- ๋ฌธ์์ด์ ๋ํ๋๋ ํน์ ๋ฌธ์์กฐํฉ๊ณผ ๋์์ํค๊ธฐ ์ํด ์ฌ์ฉ๋๋ ํจํด์ด๋ค.
- Map
- else..
- ์ฐธ์กฐํ์ ๊ธฐ๋ณธํ ๋ฐ์ดํฐ์ ์งํฉ์ด๋ค. ์ฐธ์กฐํ ๋ฐ์ดํฐ๋ ๊ฐ์ด ์ง์ ๋ ์ฃผ์๊ฐ์ ํ ๋นํ๋ค.
JavaScript ํ๋ณํ
const test = {
'name' : 'jung'
};
Object.freeze(test);
- ๋จผ์ constํค์๋๋ก ๋ฐ์ธ๋ฉ ๋ ๋ณ์๋ฅผ ์์ํ ์ํจ ๋ค์,
- Object.freeze()๋ก ํด๋น ๋ณ์๋ฅผ ๋๊ฒฐ ๊ฐ์ฒด๋ฅผ ๋ง๋ค๋ฉด
- ๊ฐ์ฒด์ ์ฌํ ๋น๊ณผ ๊ฐ์ฒด์ ์์ฑ ๋ ๋ค ๋ณ๊ฒฝ๋ถ๊ฐ๋ฅํ ๋ถ๋ณ ๊ฐ์ฒด๊ฐ ๋๋ค.
์์ ๋ณต์ฌ์ ๊น์ ๋ณต์ฌ
- ์์ ๋ณต์ฌ Shllow Copy
- ์์ ๋ณต์ฌ๋ ๊ฐ์ฒด๋ฅผ ๋ณต์ฌํ ๋ ์์ ์์ ์ฒ๋ผ ์๋๊ฐ๊ณผ ๋ณต์ฌ๋ ๊ฐ์ด ๊ฐ์ ์ฐธ์กฐ๋ฅผ ๊ฐ๋ฆฌํค๊ณ ์๋ ๊ฒ์ ๋งํ๋ค.
- ๊ฐ์ฒด์์ ๊ฐ์ฒด๊ฐ ์์ ๊ฒฝ์ฐ ํ๊ฐ์ ๊ฐ์ฒด๋ผ๋ ์๋ณธ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ๊ณ ์๋ค๋ฉด ์ด๋ฅผ ์์ ๋ณต์ฌ๋ผ๊ณ ํ๋ค.
- Object.assign()
- ์ ๊ฐ์ฐ์ฐ์
- ๊น์ ๋ณต์ฌ Deep Copy
- ๊น์ ๋ณต์ฌ๋ ๊ฐ์ฒด๋ ๊ฐ์ฒด์์ ๊ฐ์ฒด๊ฐ ์์ ๊ฒฝ์ฐ์๋ ์๋ณธ๊ณผ์ ์ฐธ์กฐ๊ฐ ์์ ํ ๋์ด์ง ๊ฐ์ฒด๋ฅผ ๋งํ๋ค.
- ์ฌ๊ทํจ์๋ฅผ ์ด์ฉํ ๋ณต์ฌ
- JSON.stringify()
- ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ
๐ค ํธ์ด์คํ ๊ณผ TDZ๋ ๋ฌด์์ผ๊น ?
์ค์ฝํ, ํธ์ด์คํ , TDZ
์ค์ฝํ
- ์๋ฐ์คํฌ๋ฆฝํธ์ ์ค์ฝํ๋ ํจ์ ๋ ๋ฒจ ์ค์ฝํ๋ฅผ ๋ฐ๋ฅธ๋ค.
- ๊ฐ์ ํจ์ ๋ ๋ฒจ์ ์กด์ฌํ๋ฉด ๊ฐ์ ์ฐธ์กฐํ ์ ์๋ค๋ ๊ฑด๋ฐ
- ES6์์ let ํค์๋๊ฐ ๋์ ๋๋ฉด์ ๋ธ๋ก ๋ ๋ฒจ ์ค์ฝํ๋ฅผ ์ฌ์ฉํ ์ ์๊ฒ ๋๋ค.
ํธ์ด์คํ
- ํจ์์ ์ฝ๋๋ฅผ ์คํํ๊ธฐ ์ ์ ๋ณ์์ ํจ์์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ ์ธ ์ ์ ๋ฏธ๋ฆฌ ํ ๋นํ๋ ๊ฒ.
- ์ด๊ธฐํ๋ฅผ ์ ์ธํ ์ ์ธ๋ง ํธ์ด์คํ .
- ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์ ์ธ, ์ ์๋ ์ฝ๋๋ณด๋ค ํธ์ถํ๋ ์ฝ๋๋ฅผ ๋จผ์ ๋ฐฐ์นํ ์ ์์.
- ๋ณ์์ ์ ์ธ๊ณผ ์ด๊ธฐํ๋ฅผ ๋ถ๋ฆฌ.
- ๋ณ์์ ์ ์ธ์ ์ฝ๋์ ์ต์๋จ์ผ๋ก ๋์ด์ฌ๋ฆผ.
TDZ(Temporal Dead Zone, ์ผ์์ ์ฌ๊ฐ์ง๋)
- TDZ์ ์ํญ์ ๋ฐ๋ ๊ตฌ๋ฌธ const, let, class
- ๋ณ์ ์ค์ฝํ์ ๋งจ ์์์๋ถํฐ ~ ๋ณ์์ ์ด๊ธฐํ ์๋ฃ ์์ ๊น์ง์ ๋ณ์๋ TDZ์ ๋ค์ด๊ฐ ๋ณ์
ํจ์ ์ ์ธ๋ฌธ๊ณผ ํจ์ ํํ์์์ ํธ์ด์คํ ๋ฐฉ์์ ์ฐจ์ด
- ํจ์ ์ ์ธ์ (function declartion)
ํจ์๋ช ์ด ์ ์๋์ด ์๊ณ , ๋ณ๋์ ํ ๋น ๋ช ๋ น์ด ์๋ ๊ฒ
function sum(a,b) {
return a + b;
}
- ํจ์ ํํ์ (function Expression)
์ ์ํ function์ ๋ณ๋์ ๋ณ์์ ํ ๋นํ๋ ๊ฒ
const sum = function(a,b) {
return a + b;
}
- ํจ์ ์ ์ธ์์ ํจ์ ์ ์ฒด๋ฅผ ํธ์ด์คํ ํฉ๋๋ค. ์ ์๋ ๋ฒ์์ ๋งจ ์๋ก ํธ์ด์คํ ๋์ ํจ์ ์ ์ธ ์ ์ ํจ์๋ฅผ ์ฌ์ฉํ ์ ์๋ค๋ ๊ฒ์ ๋๋ค.
- ํจ์ ํํ์์ ๋ณ๋์ ๋ณ์์ ํ ๋นํ๊ฒ ๋๋๋ฐ, ๋ณ์๋ ์ ์ธ๋ถ์ ํ ๋น๋ถ๋ฅผ ๋๋์ด ํธ์ด์คํ ํ๊ฒ ๋ฉ๋๋ค. ์ ์ธ๋ถ๋ง ํธ์ด์คํ ํ๊ฒ ๋ฉ๋๋ค.
์คํ ์ปจํ ์คํธ์ ์ฝ ์คํ
Execution Context
- Execution Context ๋ ์๋ฐ์คํฌ๋ฆฝํธ์ ํต์ฌ ๊ฐ๋ ์ผ๋ก, ์ฝ๋๋ฅผ ์คํํ๊ธฐ ์ํด ํ์ํ ํ๊ฒฝ์ด๋ค.
- ๋ ์์ธํ ๋งํ์๋ฉด, ์คํํ ์ฝ๋์ ์ ๊ณตํ ํ๊ฒฝ ์ ๋ณด๋ค์ ๋ชจ์๋์ ๊ฐ์ฒด์ด๋ค.
- ์๋ฐ์คํฌ๋ฆฝํธ์ ๋์ ์ธ์ด๋ก์์ ์ฑ๊ฒฉ์ ๊ฐ์ฅ ์ ํ์ ํ ์ ์๋ ๊ฐ๋ .
- ๋ชจ๋ ์ฝ๋๋ ํน์ ํ ์คํ ์ปจํ ์คํธ ์์์ ์คํ๋๋ค.
- javascript๋ ์ด๋ค execution context๊ฐ ํ์ฑํ๋๋ ์์ ์ ์ ์ธ๋ ๋ณ์๋ค์ ์๋ก ๋์ด์ฌ๋ฆฌ๊ณ (hoisting), ์ธ๋ถ ํ๊ฒฝ ์ ๋ณด๋ฅผ ๊ตฌ์ฑํ๊ณ , this๊ฐ์ ์ค์ ํ๋ ๋ฑ์ ๋์์ ์ํํ๋ค.
callstack
- call์ ํธ์ถ์ ๋ปํ๋ค.stack์ ์ถ์ ๊ตฌ๊ฐ ํ๋๋ฟ์ธ ๊น์ ์ฐ๋ฌผ ๊ฐ์ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ค.
- ๋ฐ๋ผ์ callstack์ ์๋ฐ์คํฌ๋ฆฝํธ๊ฐ ํจ์ ํธ์ถ์ ๊ธฐ๋กํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ์ฐ๋ฌผ ํํ์ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ด๋ค.
- ํญ์ ๋งจ ์์ ๋์ธ ํจ์๋ฅผ ์ฐ์ ์ผ๋ก ์คํ๋๋ค.
- ์ด๋ฐ ์์ผ๋ก ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ ๊ฐ์ฅ ์์ ์์ฌ์๋ context์ ๊ด๋ จ ์๋ ์ฝ๋๋ค์ ์คํํ๋ ์์ผ๋ก ์ ์ฒด ์ฝ๋์ ํ๊ฒฝ๊ณผ ์์๋ฅผ ๋ณด์ฅํ๋ค.
์ค์ฝํ ์ฒด์ธ, ๋ณ์ ์๋ํ
- ์ค์ฝํ๋ ํจ์์ ์ค์ฒฉ์ ์ํด ๊ณ์ธต์ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง. ⇒ ์ธ๋ถ ํจ์(outer function) / ์ค์ฒฉ ํจ์(nested function)
- ๋ณ์๋ฅผ ์ฐธ์กฐํ ๋, ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ ์ค์ฝํ ์ฒด์ธ์ ํตํด ๋ณ์๋ฅผ ์ฐธ์กฐํ๋ ์ฝ๋์ ์ค์ฝํ์์ ์์ํ์ฌ ์์ ์ค์ฝํ๋ก ์ด๋ํ๋ฉด์ ์ ์ธ๋ ๋ณ์๋ฅผ ๊ฒ์ํจ.
- ์ฌ๋ฌ ์ค์ฝํ์์ ๋์ผํ ์๋ณ์๋ฅผ ์ ์ธํ ๊ฒฝ์ฐ, ๋ฌด์กฐ๊ฑด ์ค์ฝํ ์ฒด์ธ ์์์ ๊ฐ์ฅ ๋จผ์ ๊ฒ์๋ ์๋ณ์์๋ง ์ ๊ทผ ๊ฐ๋ฅ ⇒ ๋ณ์ ์๋ํ(variable shadowing)
- ์ค์ฝํ ์ฒด์ธ์ outerEnvironmentReference์ ๋ฐ์ ํ ๊ด๊ณ๋ฅผ ๊ฐ์ง.
๐ก ์ค์ฝํ ์ฒด์ธ์ ์คํ ์ปจํ ์คํธ์ ๋ ์์ปฌ ํ๊ฒฝ์ '๋จ๋ฐฉํฅ'์ผ๋ก ์ฐ๊ฒฐํ ๋งํฌ๋ ๋ฆฌ์คํธ
๐ค ์ค์ต ๊ณผ์
์ฝ์์ ์ฐํ b ๊ฐ์ ์์ํด๋ณด๊ณ , ์ด๋์์ ์ ์ธ๋ “b”๊ฐ ๋ช๋ฒ์งธ ๋ผ์ธ์์ ํธ์ถํ console.log์ ์ฐํ๋์ง, ์ ๊ทธ๋ฐ์ง ์ค๋ช ํด๋ณด์ธ์. ์ฃผ์์ ํ์ด๋ณด๊ณ ์ค๋ฅ๊ฐ ๋๋ค๋ฉด ์ ์ค๋ฅ๊ฐ ๋๋ ์ง ์ค๋ช ํ๊ณ ์ค๋ฅ๋ฅผ ์์ ํด๋ณด์ธ์.
let b = 1;
function hi () {
const a = 1;
let b = 100;
b++;
console.log(a,b);
}
//console.log(a);
console.log(b);
hi();
console.log(b);
- ์ ์ผ ๋จผ์ 15๋ฒ์งธ ๋ผ์ธ์์ 1 ์ด ์ถ๋ ฅ๋ฉ๋๋ค.
- ์๋๋ฉด function์์ ์ ์๋ b๋ ๊ทธ ๋ด๋ถ์์๋ง ์ ์๋์ด์ง๊ธฐ ๋๋ฌธ์ด๊ณ
- 15๋ฒ์งธ๋ผ์ธ์์๋ ์์ง ํจ์๊ฐ ํธ์ถ๋์ง ์์๊ธฐ ๋๋ฌธ์ ๋๋ค.
- ๋ค์์ผ๋ก 17๋ฒ์งธ ๋ผ์ธ์์ hi() ๋ก ํจ์๊ฐ ํธ์ถ๋๋ฉด 10๋ฒ์งธ ๋ผ์ธ์ ํตํด 1 101 ์ด ์ถ๋ ฅ๋ฉ๋๋ค.
- ์๋๋ฉด ํจ์๋ก ์ ๋ฌ๋ ์ธ์๋ ์๊ณ ,
- ํจ์๋ด๋ถ์์ ์๋กญ๊ฒ a, b๊ฐ์ด ํ ๋น ๋์์ผ๋ฉฐ
- b++์ ํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
- ๋ง์ง๋ง์ผ๋ก 19๋ฒ์งธ ๋ผ์ธ์์ 1์ด ์ถ๋ ฅ๋ฉ๋๋ค.
- hi ํจ์์์ b++์ ํด๋ ๊ทธ ์ฆ๊ฐ๋ ํจ์ ๋ด๋ถ์์ ์คํ๋ ๊ฒ์ด๊ธฐ์
- ํจ์๋ฐ์๋ ์ํฅ์ ์ค ์ ์์ต๋๋ค.
- ๋ฐ๋ผ์ 1 ์ด ์ถ๋ ฅ๋ฉ๋๋ค.
- ์ฃผ์์ ํ๋ฉด Uncaught ReferenceError: a is not defined ๊ฐ ๋น๋๋ค.
- ์๋๋ฉด a๋ hiํจ์ ๋ด๋ถ์์๋ง ์ ์๋ ์์์ด๊ธฐ ๋๋ฌธ์ ๋๋ค.
'ํญํด99 > ํญํด99 storage' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
position ์ ์ด๋ป๊ฒ ์ฌ์ฉํ๋์ง ์๋ ค์ฃผ์ธ์ (0) | 2023.05.12 |
---|---|
HTTP์ ๋ํด ์ค๋ช ํ๊ณ , ์๊ณ ์๋ค๋ฉด HTTP ๋ฉ์ธ์ง ๊ตฌ์กฐ์ ๋ํด ๋ ์์ธํ ์ค๋ช ํด์ฃผ์ธ์ (0) | 2023.05.12 |
parameter์ argument์ ์ฐจ์ด์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์. (0) | 2023.05.09 |
Hoisting ์ด๋? TDZ๋? (0) | 2023.05.09 |
7์กฐ S.A(Starting Assignment) (0) | 2022.07.11 |