๐Ÿ”ค Language/๐ŸŸจ JavaScript

    JS ์กฐ๊ฑด๋ฌธ, ๋ฐ˜๋ณต๋ฌธ

    ๐ŸŒ JS ๋žœ๋ค ํ•จ์ˆ˜ export default function random() { return Math.floor(Math.random() * 10) } import getType from './getType' import random from './getRandom' // main ํ•จ์ˆ˜ ์—ฐ๊ฒฐ ๐ŸŒ JS ์กฐ๊ฑด๋ฌธ if else // if else console.log('์กฐ๊ฑด๋ฌธ if else') const m = random() if (m < 3) { console.log(m, '< ๋žœ๋ค์ˆซ์ž๋Š” 3๋ณด๋‹ค ์ž‘๋‹ค.') } else if (m === 4) { console.log(m, 'm์€ 4์ด๋‹ค.') } else { console.log(m, 'm์€ 5 ์ด์ƒ์ด๋‹ค.') } ๐ŸŒ JS ์กฐ๊ฑด๋ฌธ switch // switc..

    JS ์—ฐ์‚ฐ์ž ์‚ฐ์ˆ /ํ• ๋‹น/๋น„๊ต/๋…ผ๋ฆฌ/and/or/๋ถ€์ •/์‚ผํ•ญ

    ๐ŸŒ JS ์‚ฐ์ˆ  ์—ฐ์‚ฐ์ž // ์‚ฐ์ˆ ์—ฐ์‚ฐ์ž(arithmetic operatior) console.log('์‚ฐ์ˆ ์—ฐ์‚ฐ์ž') console.log('1 + 2 = ', 1 + 2) // 1 + 2 = 3 console.log('4 - 8 = ', 4 - 8) // 4 - 8 = -4 console.log('2 * 5 = ', 2 * 5) // 2 * 5 = 10 console.log('4 / 8 = ', 4 / 8) // 4 / 8 = 0.5 console.log('7 % 5 = ', 7 % 5) // 7 % 5 = 2 ๐ŸŒ JS ํ• ๋‹น ์—ฐ์‚ฐ์ž // ํ• ๋‹น ์—ฐ์‚ฐ์ž let a = 4 console.log(a += 1) // a = 5 console.log(a -= 2) // a = 3 console.log(a *= 2) ..

    JS ํ˜•๋ณ€ํ™˜

    ๐ŸŒ JS ๋ฌธ๋ฒ• ์‹œ์ž‘ // ์‹คํ–‰๋ฌธ console.log('hello world!') // hello world console.log(123) // 123 console.log(typeof "hello world!") // string console.log(typeof 123) // number console.log(true) // true console.log(typeof null) // object console.log(typeof undefined) // undefined console.log(typeof {}) // object console.log(typeof []) // object ๐ŸŒ JS ํ˜•๋ณ€ํ™˜ export default function getType(data) { return Object.p..

    JS Object (๊ฐ์ฒด)

    Object Object๋Š” property๋ฅผ ๊ฐ€์ง„ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•ด์ฃผ๋ฉฐ, { } ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. const player = { name : imae, level : 100, korean : true, }; console.log(player); property๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๋ฐฉ๋ฒ•์€ 2๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. console.log(player.name); // imae console.log(player["name"]); // imae ๋˜ํ•œ property๋ฅผ ๋ฐ”๊พธ๋Š” ๊ฒƒ์€ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ ์„ ์–ธ๋œ object๋ฅผ ๋ฐ”๊พธ๋Š” ๊ฒƒ์€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. const player = { name : imae, level : 100, korean : true, }; console.log(player); player.level = 101; console.log..

    JS. const, let, var ์ฐจ์ด์ 

    Variable(๋ณ€์ˆ˜)๋ฅผ ์„ ์–ธํ•˜๋Š” ๋ฐฉ๋ฒ• const -> ์ƒ์ˆ˜์ด๋ฏ€๋กœ ๊ฐ’์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๋‹ค. let -> ๋ณ€์ˆ˜๊ฐ’์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค. var -> ๋ณ€์ˆ˜๊ฐ’์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์‹ค์ˆ˜๋กœ ๊ฐ’์„ ์—…๋ฐ์ดํŠธํ•ด๋„ ์•Œ์•„์ฐจ๋ฆด ์ˆ˜ ์—†๋‹ค. ์‚ฌ์šฉํ•˜์ง€ ๋ง์ž. const์™€ let ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ• const๋ฅผ ๊ธฐ๋ณธ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜์ž. ์—…๋ฐ์ดํŠธ๊ฐ€ ํ•„์š”ํ•œ ๋ณ€์ˆ˜๋ผ๋ฉด let์„ ์‚ฌ์šฉํ•˜์ž. ํ‰์†Œ ๋Œ€๋ถ€๋ถ„ const๋กœ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜์ž.

    JS. Camelcase

    Camelcase ๋‹จ์–ด๊ฐ€ ํ•ฉ์ณ์ง„ ๋ถ€๋ถ„๋งˆ๋‹ค ๋งจ ์ฒ˜์Œ ๊ธ€์ž๋ฅผ ๋Œ€๋ฌธ์ž๋กœ ํ‘œ๊ธฐํ•˜๋Š” ๋ฐฉ๋ฒ• ๊ธธ์ด๊ฐ€ ๊ธด ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•  ๋•Œ → Camelcase ex. VeryLongVariableName cf. Python์—์„œ๋Š” very_long_variable_name

    JS. JS ๋„๊ตฌ

    ํ”„๋กœ์ ํŠธ์‹œ, ์ตœ์†Œํ•œ์˜ ๋„๊ตฌ๋งŒ์œผ๋กœ ์ˆœ์„œ์— ๋”ฐ๋ผ ์‹คํ–‰๋˜์–ด์•ผ ํ•  ๋ช…๋ น๋“ค์ด ์‹คํ–‰๋˜์–ด์•ผ ์ตœ์†Œํ•œ์˜ ์ง€์‹์œผ๋กœ ํ˜„์‹ค์˜ ๋ฌธ์ œ๋ฅผ ์—ฐ๊ฒฐํ•œ๋‹ค. ์›นํŽ˜์ด์ง€๊ฐ€ ์•„๋‹ˆ๋ผ ์›น๋ธŒ๋ผ์šฐ์ € ์ž์ฒด๋ฅผ ์ œ์–ดํ•ด์•ผ ํ•œ๋‹ค๋ฉด ์œˆ๋„์šฐ document ๊ฐ์ฒด ํŽ˜์ด์ง€๋‚ด์˜ ํƒœ๊ทธ ์กฐ์ž‘ DOM ๊ฐ์ฒด document ๊ฐ์ฒด๋กœ๋„ ์•ˆ๋˜๋Š” ์ž‘์—…์€ DOM๋ฌธ์„œ๋ฅผ ํ™•์ธ window ๊ฐ์ฒด ์›นํŽ˜์ด์ง€๊ฐ€ ์•„๋‹Œ ์›น ๋ธŒ๋ผ์šฐ์ € ์ž์ฒด๋ฅผ ์ œ์–ดํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ, ํ™•์ธ ex. ํ˜„์žฌ ์—ด๋ฆฐ ์›นํŽ˜์ด์ง€์˜ ์ฃผ์†Œ๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ, ์ƒˆ๋กœ์šด ๋ธŒ๋ผ์šฐ์ € ์ฐฝ์„ ์—ด์–ด์•ผ ํ• ๋•Œ, ๋ธŒ๋ผ์šฐ์ € ํ™”๋ฉด ํฌ๊ธฐ ์ •๋ณด๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ Ajax ์›นํŽ˜์ด์ง€๋ฅผ reloadํ•˜์ง€ ์•Š๊ณ , ์ •๋ณด๋ฅผ ๋ณ€๊ฒฝํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด Morden web page ๋ฅผ ์œ„ํ•œ ํ•„์ˆ˜ ๊ธฐ์ˆ  Cookie ์›นํŽ˜์ด์ง€๊ฐ€ reload๋˜์–ด๋„ status๋ฅผ ์œ ์ง€ํ•ด์•ผ ํ•  ๊ฒฝ์šฐ, ์‚ฌ์šฉ์ž๋ฅผ ์œ„ํ•œ ๊ฐœ์ธํ™”๋œ ..

    JS. ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ํ”„๋ ˆ์ž„์›Œํฌ, UI vs API

    โ€ป ์ƒํ™œ์ฝ”๋”ฉ ์„ ์ƒ๋‹˜์˜ "๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ํ”„๋ ˆ์ž„์›Œํฌ" ๊ฐ•์˜๋ฅผ ์ˆ˜๊ฐ•ํ•˜๊ณ  ์ž‘์„ฑํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. library vs framework library: ๋ถ€ํ’ˆ์„ ๊ฐ€์ ธ์˜ค๋Š” ์—ญํ•  - > jQuery ์ด์šฉ -> CDN (Content Delivery Network) framework: ์ผ์ข…์˜ ํ…œํ”Œ๋ฆฟ ์—ญํ•  UI vs API UI User's interface for using application ์‚ฌ๋žŒ(์‚ฌ์šฉ์ž)๊ณผ ์‚ฌ๋ฌผ ๋˜๋Š” ์‹œ์Šคํ…œ, ํŠนํžˆ ๊ธฐ๊ณ„, ์ปดํ“จํ„ฐ ํ”„๋กœ๊ทธ๋žจ ๋“ฑ ์‚ฌ์ด์—์„œ ์˜์‚ฌ์†Œํ†ต์„ ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ผ์‹œ์  ๋˜๋Š” ์˜๊ตฌ์ ์ธ ์ ‘๊ทผ์„ ๋ชฉ์ ์œผ๋กœ ๋งŒ๋“ค์–ด์ง„ ๋ฌผ๋ฆฌ์ , ๊ฐ€์ƒ์  ๋งค๊ฐœ์ฒด๋ฅผ ๋œปํ•œ๋‹ค. API Programmer's Interface for programming ์ปดํ“จํ„ฐ๋‚˜ ์ปดํ“จํ„ฐ ํ”„๋กœ๊ทธ๋žจ ์‚ฌ์ด์˜ ์—ฐ๊ฒฐ์ด๋‹ค. ์ผ์ข…์˜ ์†Œํ”„ํŠธ์›จ์–ด ์ธํ„ฐํŽ˜์ด์Šค์ด๋ฉฐ ๋‹ค..

    JS. ํŒŒ์ผ๋กœ ์ชผ๊ฐœ์„œ js์ฝ”๋“œ ๊ด€๋ฆฌ

    โ€ป ์ƒํ™œ์ฝ”๋”ฉ ์„ ์ƒ๋‹˜์˜ "ํŒŒ์ผ๋กœ ์ชผ๊ฐœ์„œ ์ •๋ฆฌ ์ •๋ˆํ•˜๊ธฐ" ๊ฐ•์˜๋ฅผ ์ˆ˜๊ฐ•ํ•˜๊ณ  ์ž‘์„ฑํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. js ์ฝ”๋“œ๋งŒ ๋”ฐ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ๋ฒ• js ์ฝ”๋“œ๋งŒ ๋”ฐ๋กœ ๊ด€๋ฆฌํ•  ๋•Œ ์žฅ์  ํ”„๋กœ๊ทธ๋žจ ์œ ์ง€๊ด€๋ฆฌ๋ณด์ˆ˜์˜ ํŽธ๋ฆฌ ์„œ๋ฒ„ ๋น„์šฉ ์ ˆ๊ฐ ํŠธ๋ž˜ํ”ฝ ์ ˆ๊ฐ ์บ์‹œ

    JS. ๊ฐ์ฒด

    โ€ป ์ƒํ™œ์ฝ”๋”ฉ ์„ ์ƒ๋‹˜์˜ "๊ฐ์ฒด ํ™œ์šฉ" ๊ฐ•์˜๋ฅผ ์ˆ˜๊ฐ•ํ•˜๊ณ  ์ž‘์„ฑํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ๊ฐ์ฒด ํ”„๋กœํผํ‹ฐ ๋ฉ”์†Œ๋“œ ์šฉ์–ด ์ •๋ฆฌ ๊ฐ์ฒด(Object) ์ด๋ฆ„๊ณผ ๊ฐ’์œผ๋กœ ๊ตฌ์„ฑ๋œ ์„ฑ์งˆ(property)์˜ ์ •๋ ฌ๋˜์ง€ ์•Š์€ ์ง‘ํ•ฉ์ž…๋‹ˆ๋‹ค. ํ”„๋กœํผํ‹ฐ(property) ๊ฐ์ฒด์— ์†Œ์†๋œ ๋ณ€์ˆ˜ ๋ฉ”์†Œ๋“œ(method) ๊ฐ์ฒด์— ์†Œ์†๋œ ํ•จ์ˆ˜ ์œ„ ์ฝ”๋“œ์™€ ๊ฐ™์ด ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์ „์— ํ•จ์ˆ˜๋กœ ์ค‘๋ณต์„ ์ •๋ฆฌํ•ด์ฃผ๋Š” ์ž‘์—…์„ ํ–ˆ๋‹ค. ๊ฐ์ฒด ์ƒ์„ฑ ๋ฐฉ๋ฒ• Create ์ด๋Ÿฌํ•œ ๊ฒฐ๊ณผ๋กœ ๋ชจ๋“  ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ๋ฐ˜๋ณต๋ฌธ Interate ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฒ• for(var key in coworkers) key programmer, designer ๋“ฑ coworkers[key] egoing, leezche ๋“ฑ ๋ฉ”์†Œ๋“œ ์ƒ์„ฑ ๋ฐฉ๋ฒ• ๋ฉ”์†Œ๋“œ๋ž€? ๊ฐ์ฒด์— ์†Œ์†๋œ ํ•จ์ˆ˜ ๊ฐ์ฒด ํ™œ์šฉ Body์™€ ..