๐จ JavaScript
[์ฝ๋ฉ์๋ง ์ธ] ๊ฐ์ฒด(Object)์ ํ๋กํผํฐ(property)
๊ฐ์ฒด(Object) key์ value๋ก ์ด๋ฃจ์ด์ง ์ ์๋ค. 1. ํจ์ํํ์ const goodCoder = function(name, age, coding) { name : 'Noran', age : 20, coding : function(){ console.log('ํ์ดํ !'); } } name : 'Noran', age : 20, coding fuction์ ํ๋กํผํฐ(property), name๊ณผ age๋ key, 'Noran'๊ณผ 20์ value์ด๋ค. coding์ method(๊ฐ์ฒด ํ๋กํผํฐ๋ก ํ ๋น๋ ํจ์)์ด๋ค. 2. ํจ์์ ์ธ๋ฌธ function goodCoder(name, age, coding) { name : 'Noran', age : 20, coding : function(){ console...
[์ฝ๋ฉ์๋ง] ํจ์์ ์ธ๋ฌธ๊ณผ ํจ์ํํ์, ๊ทธ๋ฆฌ๊ณ ํ์ดํํจ์ (์ถ๊ฐ)
ํจ์์ ์ธ๋ฌธ (Function declaration) function goodCoder(){ console.log('Hello World'); } ์ด๋์๋ ํธ์ถ๊ฐ๋ฅํ๋๋ก ํธ์ด์คํ ๋๋ค. ํจ์ํํ์ (Function expression) let goodCoder = function(){ console.log('Hello World'); } ์ฝ๋์ ๋๋ฌํ๋ฉด ์์ฑ๋๋ค. ํจ์์ ์ธ๋ฌธ๊ณผ ํจ์ํํ์์ ์ฐจ์ด์ ? ํจ์ํํ์์ ํ ๋น๋ ๋ค์๋ถํฐ ํธ์ถ์ด ๊ฐ๋ฅํ ๋ฐ๋ฉด, ํจ์์ ์ธ๋ฌธ์ ํธ์ด์คํ ์ด ๋์ด์ ์ ์ธ๋๊ธฐ ์ด์ ์๋ ํธ์ถ์ด ๊ฐ๋ฅํ๋ค. ํ์ดํํจ์ 3๋จ๋ณ์ ์ฌ๊ธฐ ํจ์ํํ์์ด ์๋ค. let goodCoder = function(code1,code2){ return code1 + code2; } ์ฌ๊ธฐ์ funtion์ด ๋น ์ง๊ณ ๋งค๊ฐ๋ณ์ ๋ค..
[๋๋ฆผ์ฝ๋ฉ/์ฝ๋ฉ์๋ง] scope์ hoisting, ๊ทธ๋ฆฌ๊ณ TDZ (์ถ๊ฐ)
scope ๋ณ์์ '์๋ช ' local scope global scope 1. local scope ์ง์ญ๋ณ์(Local Variable)๊ฐ ๊ฐ์ง๋ ๋ฒ์๋ก, ํจ์๊ฐ ์คํ๋๋ฉด ๋ง๋ค์ด์ง๊ณ ํจ์๊ฐ ์ข ๋ฃ๋๋ฉด ์๋ฉธํ๋ค. ํจ์ ์ธ๋ถ์์๋ ์ ๊ทผํ ์ ์๋ค. 2. global scope ์ ์ญ๋ณ์(Global Variable)๊ฐ ๊ฐ์ง๋ ๋ฒ์๋ก ๋ณ์๊ฐ ํจ์ ์ธ๋ถ์์ ์ ์ธ๋์ด ํ๋ก๊ทธ๋จ ์ ์ฒด์์ ์ ๊ทผํ ์ ์๋ค. let globalMsg = 'global'; // global variable function printMsg() { let msg = 'hello'; console.log(msg); // local variable console.log(globalMsg); // ์ ์์๋ํ๋ค. } printMsg(); console...
[๋๋ฆผ์ฝ๋ฉ/์ฝ๋ฉ์๋ง] strict๋ชจ๋์ var/let/const
'use strict'; ์ด ์ฝ๋๋ฅผ ์คํฌ๋ฆฝํธ๋ ํจ์์ ์์ ๋ถ๋ถ์ ์ ์ธํ๊ณ strict ๋ชจ๋๋ก ๊ฐ๋ฐํ๋ค๋ฉด, ์๋์ผ๋ก ํ์ฉ๋๋ ์๋ชป๋ ์ฝ๋๋ฅผ ์ค๋ฅ๋ก ๋ณ๊ฒฝํ์ฌ (์กด์ฌํ์ง ์๋ ๋ณ์/๊ฐ์ฒด ๋ฑ์ ์ก์๋ด๋ ๋ฑ) ๋ชจ๋ ์ฝ๋๊ฐ strict ๋ชจ๋์์ ์คํ๋์ด ๋ถํ์ํ ์ค๋ฅ๋ฅผ ์๋ฐฉํ๊ณ ์ฑ๋ฅ ๊ฐ์ ๋ ๊ธฐ๋ํ ์ ์๋ค. (* es5์์ ์ถ๊ฐ๋จ) 1. var var x = "Hello world"; var x = 0; //์ค๋ฅ์์ด ์๋ํ๋ค. ์ ์ธ+์ด๊ธฐํ -> ํ ๋น ์ด๋๋ ํธ์ด์คํ ์ด ๊ฐ๋ฅํ ์ ์ธ๋ฐฉ์์ด๋ค. block scope์ ์ ๋ถ ๋ฌด์ํ๊ณ function scope๋ฅผ ์ฌ์ฉํ๋ค. ๋ณ์๋ฅผ ์ด๋ ๊ณณ์์๋ ๋ถ๋ฌ์จ๋ค. ์ํ๋ถ๋ด์ด ํฌ๋ค. ๊ทธ๋ฌ๋ es6 ์ดํ ์๋ ์ ์ธ๋ฐฉ์์ด ๋์จ๋ค. 2. let let x = "Hello world"; l..
[๋๋ฆผ์ฝ๋ฉ] html์ js๋ฅผ ๋งํฌํ๋ ์ฌ๋ฌ๊ฐ์ง ๋ฐฉ๋ฒ๋ค
1. head ๋ด๋ถ์ ์์ฑ ์์์๋ถํฐ HTML์ ์ฝ๋๋ค (parsing html) -> blocked ๋ ์ํ์์ js๋ฅผ ์ฝ๋๋ค. (fetching/executing js) -> ๋ค์ HTML์ ์ฝ๋๋ค. ์ด ๋ฐฉ๋ฒ์ js๊ฐ ์ฉ๋์ด ํฌ๋ค๋ฉด ์น์ฌ์ดํธ๋ฅผ ๋ถ๋ฌ์ค๋๋ฐ๊น์ง ๋ง์ ์๊ฐ์ด ์์๋๋ค. 2. body ๋ด๋ถ์ ์์ฑ parsing html -> ํ์ด์ง๊ฐ ์๋ฃ๋ ์ํ์์ js๋ฅผ ์ฝ๋๋ค. (fetching/executing js) ์ฌ์ฉ์๊ฐ js๊ฐ ์ ์ฉ๋์ง ์์ ์น์ฌ์ดํธ (๋ฐ์ดํฐ๋ DOM ์์๊ฐ ๊พธ๋ฉฐ์ง์ง ์์ ์ํ) ๋ฅผ js๊ฐ ๋ฐ์์ง๊ธฐ ์ ๊น์ง ๋ณด๊ฒ ๋๋ค. 3. head ๋ด๋ถ์ ์์ฑ (asyn) parsingํ๋ค๊ฐ js๋งํฌ๋ฅผ ๋ง๋๋ฉด parsing๊ณผ ๋ณ๋ ฌ๋ก js๋ฅผ ์ฝ๋ค๊ฐ js๊ฐ ๋ฐ์์ง๋ฉด(fetching) ์คํ(execu..
[๋๋ฆผ์ฝ๋ฉ] ์๋ฐ์คํฌ๋ฆฝํธ ๊ณต์์ฌ์ดํธ (๊ณต๋ถ ์ ์ฐธ์กฐ)
์ค์ ๊ณต์ ์ฌ์ดํธ ecma-international.org ๊ฐ๋ฐ์๊ฐ ๋ณด๊ธฐ์๋ ์กฐ๊ธ ๋ํดํ๋ค๊ณ . ๊ฐ์ฅ ๋ง์ด ๋ณด๋ ์ฌ์ดํธ (์ถ์ฒ) developer.mozilla.org ๊ฐ์ฅ ๋ง์ด ์ฐ์ด๋ mdn ์ฌ์ดํธ. ๊ณต์์ฌ์ดํธ X, ์ผ๋ฐ ๊ธฐ์ ์ด ๋ง๋ ์ฌ์ดํธ w3schools.com