์œ ์šฉํ•œ 10๊ฐ€์ง€ ๋ฐฐ์—ด ํ•จ์ˆ˜๋“ค

    // Q1. make a string out of an array { const fruits = ['apple', 'banana', 'orange']; const result = fruits.join(' '); console.log(result); } // Q2. make an array out of a string { const fruits = '๐ŸŽ, ๐Ÿฅ, ๐ŸŒ, ๐Ÿ’'; const result = fruits.split(', '); console.log(result); } // Q3. make this array look like this: [5, 4, 3, 2, 1] { const array = [1, 2, 3, 4, 5]; const result = array.reverse(); console.log..

    ๋ฐฐ์—ด ๊ฐœ๋…๊ณผ APIs

    Object - ์„œ๋กœ ์—ฐ๊ด€๋œ ํŠน์ง•๊ณผ ํ–‰๋™๋“ค์„ ๋ฌถ์–ด๋†“๋Š” ๊ฒƒ ์ž๋ฃŒ๊ตฌ์กฐ - ๋น„์Šทํ•œ type์˜ object๋“ค์„ ๋ฌถ์–ด๋†“๋Š” ๊ฒƒ(dynamically typed language) - ๋‹ค๋ฅธ ์–ธ์–ด์˜ ๊ฒฝ์šฐ์—๋Š” ๋™์ผํ•œ type์˜ object๋งŒ์„ ๋ฌถ์„ ์ˆ˜ ์žˆ๋‹ค. 1. Declaration const arr1 = new Array(); const arr2 = [1, 2]; 2. Index position const fruits = ['๐ŸŽ', '๐ŸŒ']; console.log(fruits); // ['๐ŸŽ', '๐ŸŒ'] console.log(fruits.length); // 2 console.log(fruits[0]); // ๐ŸŽ console.log(fruits[1]); // ๐ŸŒ console.log(fruits[2]); // und..

    Object

    1. Literals and properties const obj1 = {}; // 'object literal' syntax const obj2 = new Object(); // 'object constructor' syntax function print(person) { console.log(person.name); console.log(person.age); } const ellie = { name: 'ellie', age: 4 }; print(ellie); // js๋Š” object๋ฅผ ์ •์˜ํ•œ ํ›„์—๋„ property ์ถ”๊ฐ€ ๊ฐ€๋Šฅ ellie.hasJob = true; console.log(ellie.hasJob); // true // property ์‚ญ์ œ ๋˜ํ•œ ๊ฐ€๋Šฅ delete ellie.hasJob; ..

    ํด๋ž˜์Šค์™€ ์˜ค๋ธŒ์ ํŠธ์˜ ์ฐจ์ด์ 

    class - ์—ฐ๊ด€์žˆ๋Š” data๋“ค์„ ํ•œ๊ณณ์— ๋ฌถ์–ด๋†“๋Š” ์ปจํ…Œ์ด๋„ˆ - ์†์„ฑ(fields), ํ–‰๋™(methods) - data class: ๊ด€๋ จ์žˆ๋Š” data(field)๋งŒ ์ •์˜๋œ ํด๋ž˜์Šค - ์บก์Аํ™”: ํด๋ž˜์Šค ๋‚ด์—์„œ ๋‚ด๋ถ€์ ์œผ๋กœ ๋ณด์—ฌ์ง€๋Š” ๋ณ€์ˆ˜, ์™ธ๋ถ€์—์„œ ๋ณด์—ฌ์ง€๋Š” ๋ณ€์ˆ˜๋ฅผ ๋‚˜๋ˆ” - ์ƒ์†๊ณผ ๋‹คํ˜•์„ฑ 1. Class ๋ถ•์–ด๋นต์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ํ‹€ template(ํ‹€)๋งŒ ์ •์˜, ์‹ค์ œ data๋Š” ๋“ค์–ด์žˆ์ง€ ์•Š๋‹ค. ํ•œ ๋ฒˆ๋งŒ ์„ ์–ธํ•œ๋‹ค. 2. Object ํด๋ž˜์Šค๋ฅผ ์ด์šฉํ•ด์„œ ์‹ค์ œ data๋ฅผ ๋„ฃ์–ด์„œ ๋งŒ๋“œ๋Š” ๊ฒƒ ํด๋ž˜์Šค๋ฅผ ์ด์šฉํ•ด์„œ ์ƒ์„ฑ๋œ ์ƒˆ๋กœ์šด instance ์—ฌ๋Ÿฌ ๋ฒˆ ์ƒ์„ฑ๋  ์ˆ˜ ์žˆ๋‹ค. 3. javascript์˜ class ES6์— ๋„์ž…๋˜์—ˆ๋‹ค ๊ธฐ์กด์˜ prototype์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฌธ๋ฒ•๋งŒ ์ถ”๊ฐ€๋˜์—ˆ๋‹ค. (syntactical sugar) 4. Clas..

    Function

    1. Function - ์žฌ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. - ํ•œ ๊ฐ€์ง€์˜ task๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ฑฐ๋‚˜ value๋ฅผ ๊ณ„์‚ฐํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋œ๋‹ค. - object์˜ ์ผ์ข…์ด๋‹ค. 1-1. Function declaration function name(param1, param2) { body... return; } 2. Parameters premitive parameters: ๋ฉ”๋ชจ๋ฆฌ์— value๊ฐ€ ๊ทธ๋Œ€๋กœ ์ €์žฅ, value๊ฐ€ ์ „๋‹ฌ object parameters: ๋ฉ”๋ชจ๋ฆฌ์— reference๊ฐ€ ์ €์žฅ, reference๊ฐ€ ์ „๋‹ฌ 3. Default parameters (added in ES6) function showMessage(message, from = 'unknown') { // from์ด undefined์ผ ๋•Œ, default ๊ฐ’ ๋ช…..

    operator, if, for loop

    1. String concatenation console.log('my' + 'cat'); // my cat console.log('1' + 2); // 12 console.log(`string literals: 1 + 2 = ${1 + 2}`); // string literals: 1 + 2 = 3 2. Numeric operators +, -, /, *, %, ** 3. Increment and decrement operators let counter = 2; const preIncrement = ++counter; // counter = counter + 1; // preIncrement = counter; const postIncrement = counter++; // postIncrement =..

    data types, let vs var, hoisting

    1. ๋ณ€์ˆ˜(Variable) ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ๋Š” ๊ฐ’ Mutable data type let (added in ES6) ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„ ์–ธ block scope({ })๋‚ด: ์ง€์—ญ / block scope ์™ธ: ๊ธ€๋กœ๋ฒŒ rw(read/write) 1-1. var ๋” ์ด์ƒ ์‚ฌ์šฉํ•˜์ง€ ๋ง ๊ฒƒ ๊ฐ’์„ ์„ ์–ธํ•˜๊ธฐ๋„ ์ „์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. block scope๊ฐ€ ์—†๋‹ค. 1-2. hoisting ์–ด๋””์— ์„ ์–ธํ–ˆ๋ƒ์— ๋”ฐ๋ผ ์ƒ๊ด€์—†์ด, ํ•ญ์ƒ ์„ ์–ธ์„ ์ œ์ผ ์œ„๋กœ ๋Œ์–ด์˜ฌ๋ ค์ฃผ๋Š” ๊ฒƒ move declaration from bottom to top var๋กœ ์„ ์–ธํ•œ ํ‘œํ˜„์‹์ด๋‚˜ function ์„ ์–ธ๋ฌธ ๋“ฑ์„ ์‹คํ–‰ ๋‹จ๊ณ„์—์„œ ํ•ด๋‹น scope์˜ ๋งจ ์œ„๋กœ ์˜ฎ๊ธฐ๋Š” ๊ฒƒ ๋ณ€์ˆ˜๊ฐ€ ํ•จ์ˆ˜ ๋‚ด์—์„œ ์ •์˜๋œ ๊ฒฝ์šฐ: ์„ ์–ธ์ด ํ•จ์ˆ˜์˜ ์ตœ์ƒ์œ„๋กœ hoist ๋ณ€์ˆ˜๊ฐ€ ํ•จ์ˆ˜ ๋ฐ”๊นฅ์—์„œ ..

    async์™€ defer

    1) user๊ฐ€ html ํŒŒ์ผ์„ ๋‹ค์šด๋ฐ›์•˜์„ ๋•Œ ๋ธŒ๋ผ์šฐ์ €๋Š” ํ•œ์ค„์”ฉ ํ•ด์„ ํ›„ DOM ์š”์†Œ๋กœ ๋ณ€ํ™˜(parsing) 2) parsing ์ค‘ 1) ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ญ‰ parsingํ›„, ํŽ˜์ด์ง€์˜ ์ค€๋น„๊ฐ€ ์™„๋ฃŒ๋˜์—ˆ์„ ๋•Œ ๋ฅผ ๋งŒ๋‚˜์„œ fetching, executing โœ… ์žฅ๋‹จ์ : user๊ฐ€ ๊ธฐ๋ณธ์ ์ธ html์˜ ์ปจํ…์ธ ๋ฅผ ๋นจ๋ฆฌ ํ™•์ธํ•  ์ˆ˜๋Š” ์žˆ์ง€๋งŒ, ์‚ฌ์ดํŠธ๊ฐ€ js์— ์˜์กด์ ์ด๋ผ๋ฉด user๊ฐ€ ์˜๋ฏธ์žˆ๋Š” ์ปจํ…์ธ ๋ฅผ ๋ณด๊ธฐ ์œ„ํ•œ ์ •์ƒ์ ์ธ ํŽ˜์ด์ง€๋ฅผ ํ™•์ธํ•˜๊ธฐ ์ „๊นŒ์ง€๋Š” fetching, executing ํ•˜๋Š” ์‹œ๊ฐ„์„ ๋ชจ๋‘ ๊ธฐ๋‹ค๋ ค์•ผ ํ•œ๋‹ค. 1) ๋ธŒ๋ผ์šฐ์ €๊ฐ€ html ๋‹ค์šด ํ›„ parsing ํ•˜๋‹ค๊ฐ€, async๋งŒ๋‚˜์„œ ๋ณ‘๋ ฌ๋กœ main.js ํŒŒ์ผ fetchingํ•˜๋ฉด์„œ parsing 2) main.js ๋‹ค์šด๋กœ๋“œ ์™„๋ฃŒ๋˜๋ฉด, parsing ๋ฉˆ์ถ”๊ณ  executing..