๋ณ์์ ํ์ ๊ธฐ์ด :
1. ๋ณ์(variable)
๋ณ์๋, ํ๋ก๊ทธ๋๋ฐ์ ์ธ๊ณ์์๋ ์ด๋ฆ(Label)์ด ๋ถ์ ๊ฐ์ผ๋ก ์ ์๋๋ค.
๋ณ์์ ์ด๋ฆ์ ์ง์ด์ฃผ๊ณ (์ ์ธ) ๊ฐ์ ๋ฃ์ด์ค๋ค(ํ ๋น).
let number = 1; // ๊ฐ์ด ์ซ์๊ฐ ๋ ์๋ ์๊ณ
let name = 'useong' // ๋ฌธ์์ด์ด ๋ ์๋ ์๋ค.
ํ๋ก๊ทธ๋๋ฐ์์๋ โ=โ ์ฐ์ฐ์์ ๋ป์ ์ ๋๋ก ๊ฐ๋ค๋ ๋ป์ด ์๋๋ค
๋ฉ๋ชจ๋ฆฌ๋ผ๋ ๋ณด๊ดํจ์ ๊ฐ์ ์ ์ฅํ๋ค๊ณ ์ดํดํ๋ฉด ์ข์ ๊ฒ ๊ฐ๋ค.
(ํ ๋น์ ๊ฐ๋
)
๋ณ์๋ ๋์ผํ ๋ณ์๋ฅผ ์ด์ฉํด ๋์ ํ ์ ์๋ค. ์ฌ์ฉํ๋ let์ ๋ ์ฌ์ฉํ๋ฉด ์๋ฌ๊ฐ ๋๋ค.
let num = 1;
num = num + 2; // let num = num + 2 => ์๋ฌ
num = num + 3;
num = num + 4;
console.log(num) // 10;
2. ํ์ (type)
ํ์
์ ํ์ธํ ๋๋ type of
์ฐ์ฐ์๋ฅผ ์จ์ ๋ฌด์จ ํ์
์ธ์ง ํ์ธํ ์ ์๋ค.
์์์๋ฃํ (number, string, boolean, undefined, function) ๋ ํ์ ์ด๋ค.
console.log(typeof 1);
// expected output: "number"
console.log(typeof 'useong');
// expected output: "string"
console.log(typeof true);
// expected output: "boolean"
console.log(typeof undeclaredVariable);
// expected output: "undefined"
console.log(typeof function(){});
// expected output: "function"
console.log(typeof {a : 1});
// expected output: "object"
console.log(typeof [1, 2, 3]);
// expected output: "object"
ํจ์ ๊ธฐ์ด :
3. ํจ์(function)
let word = 'welcome to'; // word = ์ ๋ฌ์ธ์(argument)
function gitBlog(word) {
if (typeof word !== 'string') {
return 'wrong type';
}
else {
return word + ' useonglee!';
}
}
console.log(gitBlog(word)) // 'welcome to useonglee!'
ํจ์ ์ ์ธ์๊ณผ ํํ์์ ๊ฒ๋ณด๊ธฐ์๋ ๋น์ทํด๋ณด์ด์ง๋ง ์ฝ๊ฐ์ ์ฐจ์ด๊ฐ ์๋ค.
//ํจ์ ์ ์ธ์
function myFunction (input) { // input : ๋งค๊ฐ๋ณ์(parameter)
console.log(input);
}
//ํจ์ ํํ์
let myFunction = function (input) {
console.log(input);
}
์ ๋ฒ์ ์ฌ๋ ธ๋ ํธ์ด์คํ ๊ณผ๋ ๊ด๋ จ์ด ์๋ค.
ํจ์ ์ ์ธ์์ ํธ์ด์คํ ์ ์ํฅ์ ๋ฐ๋๋ค. ์ฆ, ํจ์ ์ ์ธ์์ ์ฝ๋๋ฅผ ๊ตฌํํ ์์น์ ๊ด๊ณ์์ด ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ํด์ํ ๋ ๋งจ์๋ก ๋์ด ์ฌ๋ ค์ง๋ค.
์ด์ ๋ฐ๋๋ก, ํํ์์ ํธ์ถ ์์์ ๋ฐ๋ผ์ ์ ์์ ์ผ๋ก ํจ์๊ฐ ์คํ๋์ง ์์ ์ ์๋ค.
ํ์ง๋ง ๋ ํจ์ ํํ์์ ๋ ์ ํธํ๋ค.
์๊ณ ๋ฆฌ์ฆ์ ํ ๋, ํด๋ก์ ธ๋ก๋ ์์ฃผ ์ฌ์ฉํ๊ฒ ๋๊ณ , ์ฝ๋ฐฑ ํจ์๋ก๋ ์ฌ์ฉํ ์ผ์ด ๋ง๊ธฐ ๋๋ฌธ์ด๋ค.
join๊ณผ undefined์ ๊ด๊ณ :
์ด ๋ถ๋ถ์ ๋ด๊ฐ helpdesk์ ์ฌ๋ ธ๋ ์ง๋ฌธ์ด๋ผ์ ์ด ๋ด์ฉ์ผ๋ก๋ ๋ธ๋ก๊น ์ ํด๋ณด๋ ค๊ณ ํ๋ค.
์๊ณ ๋ฆฌ์ฆ 13๋ฒ๋ฌธ์ ์ ๊ด๋ จํด์ ์ง๋ฌธ์ ํ์๋ค. ํด๊ฒฐํ ๋ฌธ์ ์์ง๋ง,
๋ฐฐ์ด์ ๋ฌธ์์ด์ pushํ๊ณ join์ ์ฌ์ฉํ์ ๋๋ โYouCanDoItโ ์ผ๋ก ๋์์ง๋ง
๋ฌธ์์ด์ ๋ํด์คฌ์ ๋๋ โYouCanDoItundefinedundefinedโ ์ผ๋ก ๋ฐํ์ด ๋์๋ค.
์ด ๋ถ๋ถ์ด ๊ถ๊ธํด์ ์ง๋ฌธ์ ํ์๋ค.
//๋ฐฐ์ด์๋ undefined๋ฅผ ํธ์ฌํ ์ ์๋ค.
let arr = [];
arr.push(undefined);
console.log(arr) // [ undefined ]
arr.push(1, 2, 3)
console.log(arr) // [undefined, 1, 2, 3]
console.log(arr.join('')) // "123"
๊ทธ๋ ๋ค๋ฉด undefined๊ฐ ์๋ ๋ฐฐ์ด์ join์ ์ฌ์ฉํ๋ค๋ฉด ์ด๋ป๊ฒ ๋ ์ง ํ๋ฒ ๋ณด๊ฒ ์ต๋๋ค.
์์ ๊ฐ์ด ๋ฐฐ์ด์ undefined๋ฅผ pushํ๋๊ฒ์ ๋์ง๋ง, ๋ฌธ์์ด๋ก ๋ํด์ค๋
"abc" + undefined === "abcundefined"
์ ๊ฐ์ด ๋๋ ํน์ฑ์ผ๋ก โYouCanDoItundefinedundefinedโ ์ ๊ฐ์ ๊ฐ์ด ์ถ๋ ฅ์ด ๋๋ ๊ฒ ์ ๋๋ค. undefined๋ฅผ ๋ฌด์ํ๊ณ ์ด์ด์ฃผ๋ ๊ฒ์ join์ด ํด์ฃผ๋ ์ญํ ์ ๋๋ค.
์ฌ์ค ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ 13๋ฒ์ ํ์๊ธฐ๋๋ฌธ์ ๊ทธ๋ฅ ๋์ด๊ฐ ์ ๋ ์์๋ ๋ฌธ์ ์์ง๋ง,
๋์ ๋จ์ํ ํธ๊ธฐ์ฌ์ด ์ด ๊ฒฐ๊ณผ๋ฅผ ์ด๋ํ๋ค. ์ด ํธ๊ธฐ์ฌ์ด ์์๋๋ผ๋ฉด ์ด ๊ฐ๋ ์ ๋ํด์๋ ์ ํ ์๊ณ ๋์ด๊ฐ์ง ๋ชปํ์ ๊ฒ์ด๋ค.
์ด๋ฐ์์ผ๋ก helpdesk๋ฅผ ํ์คํ ์ ์ด์ฉํด์ผ๋ง ํ์ต์ ๋ ํจ๊ณผ์ ์ธ ๊ฒ ๊ฐ๋ค.
๋ฌธ์ ๋ฅผ ํธ๋ ๊ฒ๋ ์ค์ํ์ง๋ง ์ง๋ฌธ์ ํ๋ ์์ธ๋ ์ค์ํ๋ค๋ ๊ฒ์ ๊นจ๋ฌ์๋ค.
๐ ๋ด์ผ์ TIW(today I Will)
์กฐ๊ฑด๋ฌธ๊ณผ ๋ฌธ์์ด