Plant seed
article thumbnail
๊ฐ์ฒด ๋ฆฌํ„ฐ๋Ÿด
Front-End/JavaScript 2023. 2. 3. 17:49

- ์‹๋ณ„์ž ๋„ค์ด๋ฐ ๊ทœ์น™์„ ๋”ฐ๋ฅด์ง€ ์•Š๋Š” ์ด๋ฆ„์—๋Š” ๋ฐ˜๋“œ์‹œ ๋”ฐ์˜ดํ‘œ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. var person = { firstName: 'Ung-mo', // ์‹๋ณ„์ž ๋„ค์ด๋ฐ ๊ทœ์น™์„ ์ค€์ˆ˜ํ•˜๋Š” ํ”„๋กœํผํ‹ฐ ํ‚ค 'last-name': 'Lee' // ์‹๋ณ„์ž ๋„ค์ด๋ฐ ๊ทœ์น™์„ ์ค€์ˆ˜ํ•˜์ง€ ์•Š๋Š” ํ”„๋กœํผํ‹ฐ ํ‚ค } console.log(person) // { firstName: 'Ung-mo', last-name: 'Lee' } var person = { firstName: 'Ung-mo', last-name: 'Lee' // SyntaxError: Unexpected token - } - ๋ฌธ์ž์—ด ๋˜๋Š” ๋ฌธ์ž์—ด๋กœ ํ‰๊ฐ€ํ•  ์ˆ˜ ์žˆ๋Š” ํ‘œํ˜„์‹์„ ์‚ฌ์šฉํ•ด ํ”„๋กœํผํ‹ฐ ํ‚ค๋ฅผ ๋™์ ์œผ๋กœ ์ƒ์„ฑํ•  ์ˆ˜๋„ ์žˆ๋Š” ๊ฒฝ์šฐ์—๋Š” ํ”„๋กœํผํ‹ฐ ํ‚ค๋กœ ์‚ฌ์šฉํ•  ํ‘œํ˜„์‹์„ ๋Œ€๊ด„ํ˜ธ([.....

article thumbnail
ํƒ€์ž… ๋ณ€ํ™˜๊ณผ ๋‹จ์ถ• ํ‰๊ฐ€
Front-End/JavaScript 2023. 1. 27. 17:35

- ๋ช…์‹œ์  ํƒ€์ž… ๋ณ€ํ™˜ var x = 10; // ์ˆซ์ž๋ฅผ ๋ฌธ์ž์—ด๋กœ ํƒ€์ž… ์บ์ŠคํŒ…ํ•œ๋‹ค. var str = x.toString(); console.log(typeof str, str); // string 10 // x ๋ณ€์ˆ˜์˜ ๊ฐ’์ด ๋ณ€๊ฒฝ๋œ ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค. console.log(typeof x, x); // number 10 - ์•”๋ฌต์  ํƒ€์ž… ๋ณ€ํ™˜ var x = 10; // ๋ฌธ์ž์—ด ์—ฐ๊ฒฐ ์—ฐ์‚ฐ์ž๋Š” ์ˆซ์ž ํƒ€์ž… x์˜ ๊ฐ’์„ ๋ฐ”ํƒ•์œผ๋กœ ์ƒˆ๋กœ์šด ๋ฌธ์ž์—ด์„ ์ƒ์„ฑํ•œ๋‹ค. var str = x + ''; console.log(typeof str, str); // string 10 // x ๋ณ€์ˆ˜์˜ ๊ฐ’์ด ๋ณ€๊ฒฝ๋œ ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค. console.log(typeof x, x); // number 10 ์ฐธ๊ณ ์ž๋ฃŒ: http://www.yes24.com/..

article thumbnail
addEventListener & removeEventListener
Front-End/JavaScript 2023. 1. 10. 18:19

Q. ํŒ€ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋‹ค๊ฐ€ ๋ฉ˜ํ† ๋‹˜๊ป˜์„œ ์ฝ”๋“œ๋ฆฌ๋ทฐ๋ฅผ ํ•ด์ฃผ์…จ๋Š”๋ฐ addEventListener๋ฅผ ์ž‘์„ฑํ•˜๊ณ  removeEventListener๋ฅผ ํ•ด์ฃผ๋ผ๊ณ  ํ•˜์…จ๋Š”๋ฐ ๋ฉ”๋ชจ๋ฆฌ ๋ฌธ์ œ ๋•Œ๋ฌธ์ด๋ผ๊ณ  ํ•˜์…จ๋Š”๋ฐ ๊ทธ๋ ‡๊ฒŒ ํฐ ์ฐจ์ด๊ฐ€ ์žˆ๋‚˜์š”? A. ํŽ˜์ด์ง€๋‚˜ DOM์„ ์•„์˜ˆ ๋‚˜๊ฐ€๋Š”๊ฑฐ๋ฉด ์ƒ๊ด€์—†๊ณ  SPAํŠน์„ฑ์ด๋ผ์„œ ํ•ด์ฃผ๋Š”๊ฒŒ ์ข‹๋‹ค. ๋Œ€์ถฉ SPA๋Š” ํŽ˜์ด์ง€๋ฅผ ๋‚˜๊ฐ€์ง€ ์•Š๊ธฐ๋•Œ๋ฌธ์— ์ด๋ฒคํŠธ๋ฆฌ์Šค๋„ˆ๊ฐ€ ์Œ“์ด๊ฒŒ๋ผ์„œ ๋‚œ ํ•œ๊ฐ€์ง€ ์ด๋ฒคํŠธ๋งŒ ์‹คํ–‰์‹œํ‚ค๋ฉด ๋˜๋Š”๋ฐ ๋‹ค๋ฅธ ์ด๋ฒคํŠธ๋ฆฌ์Šค๋„ˆ๊ฐ€ ํญ์ฃฝ๋†€์ดํ•˜๋ฉด์„œ ๋‘๋‘ฅํƒ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ๋‹ค. dom๊ณผ event listener๊ฐ€ ์ƒํ˜ธ ์ฐธ์กฐํ•˜๋Š” ๊ฒฝ์šฐ ์‚ญ์ œํ•ด์ฃผ์ง€ ์•Š์œผ๋ฉด ์ƒํ˜ธ ์ฐธ์กฐ๋กœ reference count๊ฐ€ 0์ด ๋˜์ง€ ์•Š์•„์„œ ์˜๊ตฌํžˆ ๋‚จ๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค. addEventListenr(name, function)์„ ํ˜ธ์ถœํ•˜๋ฉด ์‹œ์Šคํ…œ ๋‚ด..

article thumbnail
๊ณ ์œ ํ•œ id ์ƒ์„ฑํ•˜๊ธฐ
Front-End/JavaScript 2023. 1. 8. 18:46

๋ฐฉ๋ฒ• 01. Date๊ฐ์ฒด์˜ ms ์‹œ๊ฐ„์„ ์ด์šฉํ•˜์—ฌ ์ƒ์„ฑํ•œ๋‹ค. const id = new Date() ๋ฐฉ๋ฒ• 02. uuid ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉํ•˜๊ธฐ // uuid ์„ค์น˜ npm install uuid // 01. import {v4 as uuidv4} from 'uuid'; uuidv4(); // '9b1deb4d-3sd5-sdf2-asdf2cvbwe.....' // 02. import {v4: uuidv4} = require('uuid'); uuidv4(); // '9b1deb4d-3sd5-sdf2-asdf2cvbwe.....'

article thumbnail
์ œ์–ด๋ฌธ
Front-End/JavaScript 2023. 1. 6. 12:27

var num = 2; var kind; if (num > 0) { kind = "์–‘์ˆ˜"; } else if (num 0) kind = "์–‘์ˆ˜"; else if (num 0 ? "์–‘์ˆ˜"..

article thumbnail
์—ฐ์‚ฐ์ž
Front-End/JavaScript 2022. 12. 30. 12:51

var x = 2; var result = x % 2 ? 'ํ™€์ˆ˜' : '์ง์ˆ˜'; console.log(result); // ์ง์ˆ˜ x % 2๊ฐ€ true๋ฉด ์ฝœ๋ก (:) ์•ž์˜ ๋‘ ๋ฒˆ์งธ ํ”ผ์—ฐ์‚ฐ์ž์ธ 'ํ™€์ˆ˜'๋ฐ˜ํ™˜, false๋ฉด ์ฝœ๋ก (:)๋’ค์˜ ์„ธ ๋ฒˆ์งธ ํ”ผ์—ฐ์‚ฐ์ž '์ง์ˆ˜' ๋ฐ˜ํ™˜ 2 % 2๋Š” 0์ด๊ณ  0์€ false๋กœ ์•”๋ฌต์  ํƒ€์ž… ๋ณ€ํ™˜๋œ๋‹ค. // ์กฐ๊ฑด๋ฌธ(if...else)์„ ์‚ฌ์šฉํ•ด๋„ ์‚ผํ•ญ ์กฐ๊ฑด ์—ฐ์‚ฐ์ž ํ‘œํ˜„์‹๊ณผ ์œ ์‚ฌํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค. var x = 2, result; // 2 % 2๋Š” 0์ด๊ณ  0์€ false๋กœ ์•”๋ฌต์  ํƒ€์ž… ๋ณ€ํ™˜๋œ๋‹ค. if(x % 2) result = 'ํ™€์ˆ˜'; else result = '์ง์ˆ˜'; console.log(result); // ์ง์ˆ˜ var x = 10; var result = if (x % 2) ..

article thumbnail
.ENV ์„ค์ •ํ•˜๊ธฐ (feat. Vercel)
Front-End/JavaScript 2022. 12. 22. 18:08

โ–ถ api key๋ฅผ ์ˆจ๊ธฐ๊ธฐ ์œ„ํ•œ ์šฉ๋„ (์†Œ์Šค์ฝ”๋“œ์—์„œ ์ˆจ๊ธฐ๊ธฐ - ๋ณด์•ˆ์šฉ) โ–ถ FE์—์„  ์ฝ”๋“œ๊ฐ€ ์ „๋ถ€ ๋…ธ์ถœ์ด ๋˜๊ธฐ ๋•Œ๋ฌธ์— api key๋ฅผ ์ˆจ๊ธฐ๋Š” ๊ฒƒ์€ BE ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์š”์ฒญํ•ด์•ผ ํ•œ๋‹ค. ํŒŒ์ผ๋ช… : startProject.sh - ์‰˜ -ํ•œ๊บผ๋ฒˆ์— ์„ค์น˜ํ•˜๋Š” ๋ฐฉ๋ฒ• - ํ˜„์—…์—์„œ ์ž์ฃผ ์“ฐ์ด์ง€๋Š” ์•Š์Œ. npm init -y // npm ์ดˆ๊ธฐํ™” npm i -D parcel vercel // parcel, vercel(์„œ๋ฒ„๋ฆฌ์Šค ํ•จ์ˆ˜๋ฅผ ์ž‘๋™์‹œํ‚ค๊ธฐ ์œ„ํ•จ)์„ ๊ฐœ๋ฐœ์˜์กด์„ฑ(devDependencies)๋กœ ์„ค์น˜ mkdir src // ํด๋” ๋งŒ๋“ค๊ธฐ touch src/main.js touch index.html // Window ์‚ฌ์šฉ์ž๋Š” touch ๋Œ€์‹  echo root ๊ฒฝ๋กœ์— vercel.json ํŒŒ์ผ์„ ์ƒ์„ฑํ•œ๋‹ค. // vercel.json..

article thumbnail
๋ฐ์ดํ„ฐ ํƒ€์ž… - ํ…œํ”Œ๋ฆฟ ๋ฆฌํ„ฐ๋Ÿด
Front-End/JavaScript 2022. 12. 15. 11:25

// ์ผ๋ฐ˜ ๋ฌธ์ž์—ด ๋‚ด์—์„œ ์ค„๋ฐ”๊ฟˆ ๋“ฑ์˜ ๊ณต๋ฐฑ์„ ํ‘œํ˜„ํ•˜๋ ค๋ฉด ๋ฐฑ์Šฌ๋ž˜์‹œ(\)๋กœ ์‹œ์ž‘ํ•˜๋Š” ์ด์Šค์ผ€์ดํ”„ ์‹œํ€€์Šค๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. var template = '\n\tHome // // ์ค„๋ฐ”๊ฟˆ๊ณผ ๋“ค์—ฌ์“ฐ๊ธฐ๊ฐ€ ์ ์šฉ๋œ HTML ๋ฌธ์ž์—ด์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด \n ๋‹ค์Œํ–‰์œผ๋กœ ์ด๋™, \t ํƒญ(์ˆ˜ํ‰) ์ด์Šค์ผ€์ดํ”„ ์‹œํ€€์Šค๋ฅผ ๋„ฃ์–ด ์‚ฌ์šฉํ•ด ์ž‘์„ฑํ•œ๋‹ค. var template2 = ` Home ` ์ผ๋ฐ˜ ๋ฌธ์ž์—ด๊ณผ ๋‹ฌ๋ฆฌ ํ…œํ”Œ๋ฆฟ ๋ฆฌํ„ฐ๋Ÿด ๋‚ด์—์„œ๋Š” ์ด์Šค์ผ€์ดํ”„ ์‹œํ€€์Šค๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ ๋„ ์ค„๋ฐ”๊ฟˆ์ด ํ—ˆ์šฉ๋˜๋ฉฐ, ๋ชจ๋“  ๊ณต๋ฐฑ๋„ ์žˆ๋Š” ๊ทธ๋Œ€๋กœ ์ ์šฉ๋œ๋‹ค. var first = 'Ung-mo'; var last = 'Lee'; // ES5 ๋ฌธ์ž์—ด ์—ฐ๊ฒฐ console.log('My name is ' + first + ' ' + last + '.'); // My name is U..

article thumbnail
๋ณ€์ˆ˜ (Variable)
Front-End/JavaScript 2022. 12. 9. 17:45

var userId = 1; var userName = 'Lee'; // ๊ฐ์ฒด๋‚˜ ๋ฐฐ์—ด ๊ฐ™์€ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ฐ’์„ ํ•˜๋‚˜๋กœ ๊ทธ๋ฃนํ™”ํ•ด์„œ ํ•˜๋‚˜์˜ ๊ฐ’์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. var user = { id: 1, name: 'Lee' }; var users = [ { id: 1, name: 'Lee' }, { id: 2, name: 'Kim' } ]; console.log(score); // undefined var score; // 1. ๋ณ€์ˆ˜ ์„ ์–ธ score = 80; // 2. ๊ฐ’์˜ ํ• ๋‹น console.log(score); // 80 ๋ณ€์ˆ˜๋Š” ํ•˜๋‚˜์˜ ๊ฐ’์„ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ์ˆ˜๋‹จ์ด๋‹ค. console.log(score2); // undefined score2 = 80; var score2; console.lo..

article thumbnail
์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ๊ณผ ์‹คํ–‰๋ฐฉ๋ฒ•
Front-End/JavaScript 2022. 12. 9. 17:45

๋ธŒ๋ผ์šฐ์ €์—์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰ 0 + - ๋””๋ฒ„๊น…๋ฐฉ๋ฒ• 1. ์ฝ˜์†”์ฐฝ์„ ์—ด์–ด ์—๋Ÿฌ์˜ ๋งํฌ๋ฅผ ํด๋ฆญํ•œ๋‹ค. 2. ์ž๋™์œผ๋กœ ๋„˜์–ด๊ฐ„ ์†Œ์ŠคํŒจ๋„์— ํ•ด๋‹น ์—๋Ÿฌ๊ฐ€ ํ‘œ์‹œ๋œ ์ค„(์™ผ์ชฝ ๋ฒˆํ˜ธ)์„ ํด๋ฆญํ•œ๋‹ค.(๋ธŒ๋ ˆ์ดํฌ ํฌ์ธํŠธ) 3. ์—๋Ÿฌ๋ฅผ ์žฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ์›นํŽ˜์ด์ง€์˜ ๋ฒ„ํŠผ(์—๋Ÿฌ๋ฐœ์ƒ ์ง€์ )์„ ๋‹ค์‹œ ํด๋ฆญํ•œ๋‹ค. 4. ๋””๋ฒ„๊น…๋ชจ๋“œ ํ™œ์„ฑํ™”(๋””๋ฒ„๊น… ๋ชจ๋“œ๊ฐ€ ํ™œ์„ฑํ™”๋˜์ง€ ์•Š์œผ๋ฉด ์›นํŽ˜์ด์ง€๋ฅผ ์ƒˆ๋กœ๊ณ ์นจํ•œ๋‹ค.) 5. ์†Œ์ŠคํŒจ๋„์˜ ๋ธŒ๋ ˆ์ดํฌ ํฌ์ธํŠธ๋ฅผ ์ฐ์–ด ๋†“์€ ์ค„์— ๋งˆ์šฐ์Šค๋ฅผ ๊ฐ€์ ธ๋‹ค ๋Œ€๋ฉด ์—๋Ÿฌ ๋ฐœ์ƒ์›์ธ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ๋‚ด์žฅ ํ„ฐ๋ฏธ๋„ const arr = [1, 2, 3]; arr.forEach(console.log); // ๋‚ด์žฅ ํ„ฐ๋ฏธ๋„์„ ์—ด๊ณ  'node [ํŒŒ์ผ์ด๋ฆ„]'์„ ์ž…๋ ฅํ•˜๋ฉด js๋ฅผ ์‹คํ–‰์‹œํ‚จ ๊ฒฐ๊ณผ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. const arr2 = [1, 2, 3]; arr.forE..