์๋ฐ์คํฌ๋ฆฝํธ ๊ธฐ์ด 3. ์ฐ์ฐ์ | boolean์ ๋ชจ๋ ๊ฒ && ์ฐ์ฐ์
false: 0, -0, ' ', null, undefined true: -1, 'hello', [ ] 0 ๋๋ ๋ฐ์ดํฐ๊ฐ ์๊ฑฐ๋ ๋น์ด์๋ ๊ฒ๋ค์ ๋ชจ๋ false์ด๋ค. ๊ทธ ์ธ์๋ ๋ชจ๋ true let num; // undefined if (num) { console.log('true'); } num && console.log(num); // &&์ฐ์ฐ์๋ ์์ด true์ฌ์ผ ๋ค๊ฐ ์คํ๋๋ค. let obj = { name: 'ellie', }; if (obj) { console.log(obj.name); } obj && console.log(obj.name); ์ฐธ๊ณ youtube ๋๋ฆผ์ฝ๋ฉ by ์๋ฆฌ https://www.youtube.com/watch?v=SswrP0JLNGY&list=PLv2d7VI9OotTV..
์๋ฐ์คํฌ๋ฆฝํธ ๊ธฐ์ด 2. ํจ์ | ํจ์ ์ ์, ํธ์ถ, ๊ทธ๋ฆฌ๊ณ ์ฝ๋ฐฑํจ์
๋ฐ๋ณต์ ์ผ๋ก ์ํ๋๋ ์ผ๋ค์ ํจ์๋ก ์์ฑํ์ฌ ์ฌ์ฌ์ฉ์ฑ์ ๋์ธ๋ค! // ํจ์ ์ ์ธ function add(a, b) { return a + b; } // ํจ์ ํธ์ถ const sum = add(3, 4); ํจ์์ ์ด๋ฆ์ ์์ฑํ ๋๋ ์๋ฏธ ์๋ ์ด๋ฆ์ ์ฌ์ฉํ ๊ฒ function add(num1, num2) { return num1 + num2; } const doSomething = add; // add์ ref๋ฅผ ๋ณต์ฌํ์ฌ ํ ๋น const result = doSomething(2, 3); const result2 = add(2, 3); // result์ result2๋ ๊ฐ์ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ๋ค. ํจ์๋ object์ ํ ์ข ๋ฅ์ด๋ค. add(ํจ์์ด๋ฆ)์๋, ํจ์ ์์ฒด๋ฅผ ๊ฐ๋ฆฌํค๋ reference๊ฐ ๋ด๊ฒจ์๋ค. fun..
์๋ฐ์คํฌ๋ฆฝํธ ๊ธฐ์ด 1. ๋ณ์ | primitive ํ์ ๊ณผ object์ ์ฐจ์ด์
1. primitive type // number, string, boolean, null, undefined, symbol let age = 2; let num = '2'; ๋ด์ ์ ์๋ ๊ฐ์ฅ ์์ ๋จ์์ ๋ฐ์ดํฐ๋ค ๋ณ์ ์ด๋ฆ ์ง์ ์ ์๋ฏธ ์๋ ์ด๋ฆ์ผ๋ก ์ง์ ํ๊ธฐ (number โก age) let number = 2; let number2 = number; primitive ์ ์ธ ์ ๊ฐ ๋ฉ๋ชจ๋ฆฌ ํ ๋น 2. object type primitive ์ด์ธ์ ๋ชจ๋ ๋ฐ์ดํฐ๋ค ์ต์ํ 1~2๊ฐ์ง์ ๋ฐ์ดํฐ๋ฅผ ํ ๊ตฐ๋ฐ์ ๋ฌถ์ด๋์ ๊ฒ ํจ์๋ ํฌํจ key์ value๋ก ๊ตฌ์ฑ let obj = { name: 'ellie', age: 5, } obj.name; // obj๋ฅผ ๊ฐ๋ฆฌํค๋ ๊ณณ์ name์ด๋ผ๋ ๊ฐ์ ์ฐพ๋๋ค ๊ฐ key๋ง๋ค..
์๋ฐ์คํฌ๋ฆฝํธ ํจ์ ๊ธฐ๋ณธํธ
1. ํจ์ ์ ์ธ & ํธ์ถ // ํจ์ ์ ์ธ function doSomething() { console.log('hello'); } // ํจ์ ํธ์ถ doSomething(); 2. ๊ฐ์ ๋ฆฌํดํ๋ ํจ์ function add(a, b) { // js๋ ๋ฐ๋ก ํ์ ์ ์ ์ธํ์ง ์์๋ ๋จ! const sum = a + b; return sum; // ๋ํ ๊ฒฐ๊ณผ๋ฅผ return ํค์๋๋ฅผ ํ์ฉํด์ ์ ๋ฌ } add(1, 2); // ๋ฅผ ํตํด ํธ์ถ๋ง ํ๊ฒ ๋๋ฉด, ์๋ฌด๊ฒ๋ ์ผ์ด๋์ง ์์ // ํจ์๊ฐ ์ ๋ฌํ ๊ฐ์ ๋ณ์์ ํ ๋นํ ํ ์ถ๋ ฅ! const result = add(1, 2); console.log(result); 3. ํจ์๋ฅผ ์ธ์๋ก ์ ๋ฌ function doSomething(add) { console.log(add); ..
JavaScript async์ await, ์ ์ฉํ Promise APIs
1. async ์ค๋ ๊ฑธ๋ฆฌ๋ ์ฝ๋๋ฅผ ๋น๋๊ธฐ์ ์ฒ๋ฆฌํ์ง ์์ผ๋ฉด, js ์์ง์ ๋๊ธฐ์ ์ธ ์ฒ๋ฆฌ๋ฅผ ํ๊ธฐ ๋๋ฌธ์ ๋ง์ฝ ๊ทธ ๋ค๋ก ์น ํ์ด์ง์ UI๋ฅผ ํ์ํ๋ ์ฝ๋๊ฐ ์๋ค๋ฉด, ์ฌ์ฉ์๋ ์ค๋ ๊ฑธ๋ฆฌ๋ ์ฝ๋๊ฐ ๋ค ์ํ๋ ๋๊น์ง ๋น ํ์ด์ง๋ง์ ๋ณด๊ฒ ๋๋ค. ๋น๋๊ธฐ์ ์ธ ์ฒ๋ฆฌ๊ฐ ํ์ํ๋ค. async ํค์๋: ์ฝ๋๋ธ๋ญ์ด ์๋์ผ๋ก Promise๋ก ๋ณํ๋๋ค. // clear style of using promise :) async function fetchUser() { // do network request in 10 secs... return 'ellie'; } const user = fetchUser(); user.then(console.log); console.log(user); 2. await await์ async๊ฐ ๋ถ์ ..
Promise ๊ฐ๋ ๋ถํฐ ํ์ฉ๊น์ง
โ Promise - js์์ ์ ๊ณตํ๋ฉฐ, ๋น๋๊ธฐ๋ฅผ ๊ฐํธํ๊ฒ ์ฒ๋ฆฌํ ์ ์๋๋ก ๋์์ฃผ๋ object - ์ ํด์ง ๊ธฐ๋ฅ ์ํ ํ ์ฑ๊ณต ์ ์ฑ๊ณต ๋ฉ์์ง์ ๊ฒฐ๊ณผ๊ฐ ์ ๋ฌ - ๊ธฐ๋ฅ ์ํ ์ ๋ฌธ์ ๋ฐ์ ์ ์๋ฌ ์ ๋ฌ - ๋น๋๊ธฐ์ ์ธ ๊ฒ์ ์ํํ๊ธฐ ์ํด Callbackํจ์ ๋์ ์ ์ ์ฉํ๊ฒ ์ฌ์ฉ ๊ฐ๋ฅ โ Point - 1. State: process๊ฐ heavyํ operation์ ์ํ ์ค์ธ์ง, ๊ธฐ๋ฅ ์ํ์ ์ฑ๊ณต/์คํจ ํ๋์ง - 2. Producer(์ ๋ณด์ ๊ณต์) / Consumer(์ ๋ณด์ฌ์ฉ์)์ ์ฐจ์ด์ Promise๋ class โก new ํค์๋๋ฅผ ํตํด ์์ฑํ ์ ์๋ค. ์์ฑ์: executor๋ผ๋ ์ฝ๋ฐฑํจ์ ์ ๋ฌ executor ์์์๋ ๋ค์ resolve์ reject ์ฝ๋ฐฑํจ์ ์ ๋ฌ resolve: ๊ธฐ๋ฅ ์ ์ ์ํ ํ ..
๋น๋๊ธฐ ์ฒ๋ฆฌ์ ์์, ์ฝ๋ฐฑ ์ดํดํ๊ธฐ
1. ๋๊ธฐ์ ๋น๋๊ธฐ 1-1. synchronous javascript๋ synchronous(๋๊ธฐ์ )์ด๋ค. hoisting์ด ๋ ์ดํ๋ถํฐ, ์ฝ๋๊ฐ ์์ฑํ ์์์ ๋ง์ถฐ์ ํ๋์ฉ ๋๊ธฐ์ ์ผ๋ก ์คํ๋๋ค. hoisting: var, function ์ ์ธ๋ค์ด ์๋์ ์ผ๋ก ์ต์๋จ์ผ๋ก ์ฌ๋ผ๊ฐ๋ ๊ฒ ์ ํด์ง ์์์ ๋ง๊ฒ ์ฝ๋๊ฐ ์คํ๋๋ ๊ฒ console.log('1'); console.log('2'); console.log('3'); 1-2. asynchronous ์ธ์ ์ฝ๋๊ฐ ์คํ๋ ์ง ์์ธกํ ์ ์๋ ๊ฒ setTimeout์ ๋ธ๋ผ์ฐ์ API์ด๋ฏ๋ก, ๋ธ๋ผ์ฐ์ ์๊ฒ ์์ฒญ์ ๋ณด๋ด๊ฒ ๋๋ค. ์๋ต์ ๊ธฐ๋ค๋ฆฌ์ง ์๊ณ ๋ฐ๋ก console.log('3')์ผ๋ก ๋์ด๊ฐ๊ฒ ๋๋ค. console.log('1'); setTimeout(functio..
JSON ๊ฐ๋ ์ ๋ฆฌ
- HTTP Client์ Server๊ฐ ์ด๋ป๊ฒ Hypertext๋ฅผ ์ฃผ๊ณ ๋ฐ์ผ๋ฉฐ ํต์ ํ ์ ์๋์ง ์ ์ํ ๊ฒ Client๊ฐ data request, Server๋ ์ ์ ํ response ์ ์ก - AJAX (Asynchronous JavaScript And XML) HTTP๋ฅผ ์ด์ฉํด์ Server๋ก๋ถํฐ data ๋ฐ์์ฌ ๋ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ ์นํ์ด์ง์์ ๋์ ์ผ๋ก Server์ data ์ฃผ๊ณ ๋ฐ์ ์ ์๋ ๊ธฐ์ ex) XHR (XMLHttpRequest), fetch() API - XML Mark up ์ธ์ด ์ค ํ๋ HTML๊ณผ ๊ฐ์ด data๋ฅผ ํํํ ์ ์๋ ํ ๊ฐ์ง ๋ฐฉ๋ฒ ๋ถํ์ํ ํ๊ทธ๋ค์ด ๋ง์ด ๋ค์ด๊ฐ์ ํ์ผ ํฌ๊ธฐ๊ฐ ์ปค์ง๊ณ , ๊ฐ๋ ์ฑ์ด ๋๋น ์ง๋ค. - JSON (JavaScript Object Notation) { ke..