๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๋ฐ˜์‘ํ˜•

JavaScript168

์–•์€ ๋ณต์‚ฌ, ๊นŠ์€ ๋ณต์‚ฌ ๐ŸŽช ์–•์€ ๋ณต์‚ฌ ๋ฐ”๋กœ ์•„๋ž˜ ๋‹จ๊ณ„์˜ ๊ฐ’๋งŒ ๋ณต์‚ฌํ•˜๋Š” ๊ฒƒ ๐ŸŽช ๊นŠ์€ ๋ณต์‚ฌ ๋‚ด๋ถ€์˜ ๋ชจ๋“  ๊ฐ’๋“ค์„ ํ•˜๋‚˜ํ•˜๋‚˜ ์ฐพ์•„์„œ ์ „๋ถ€ ๋ณต์‚ฌํ•˜๋Š” ๊ฒƒ ๐Ÿ‘‰๐Ÿป ๊นŠ์€ ๋ณต์‚ฌ๋ฅผ ํ•˜๋Š” ๋ฐฉ๋ฒ• 1. ๊ฐ์ฒด์˜ ๊นŠ์€ ๋ณต์‚ฌ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฒ”์šฉ ํ•จ์ˆ˜ ์‚ฌ์šฉํ•˜๊ธฐ var copyObjectDeep = function(target) { var result = {}; if (typeof target === 'object' && target !== null) { for (var prop in target) { result[prop] = copyObjectDeep(target[prop]); } } else { result = target; } return result; } ์ด ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด ๊ฐ์ฒด๋ฅผ ๋ณต์‚ฌํ•œ ๋‹ค์Œ์—๋Š” ์›๋ณธ๊ณผ ์‚ฌ๋ณธ์ด ์„œ๋กœ ์™„์ „ํžˆ ๋‹ค๋ฅธ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ•˜๊ฒŒ ๋˜์–ด ์–ด๋Š ์ชฝ.. 2021. 11. 17.
immutable.js, baobab.js ๋ถˆ๋ณ€ ๊ฐ์ฒด์˜ ๊ทœ์น™์„ ๋”ฐ๋ฅด๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ๋Š” ์‹œ์Šคํ…œ์ ์œผ๋กœ ์ œ์•ฝ์„ ๊ฑฐ๋Š” ํŽธ์ด ์ œ์ผ ์•ˆ์ „ํ•˜๋‹ค. ๋ชจ๋‘๊ฐ€ ๊ทธ ๊ทœ์น™์„ ๋”ฐ๋ฅด์ง€ ์•Š๊ณ ๋Š” ํ”„๋กœํผํ‹ฐ ๋ณ€๊ฒฝ์„ ํ•  ์ˆ˜ ์—†๊ฒŒ๋” ์‹œ์Šคํ…œ์ ์œผ๋กœ ์ œ์•ฝ์„ ๊ฑฐ๋Š” ๊ฒƒ์ด๋‹ค. immutable.js, baobab.js ๋“ฑ์˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์œ ์šฉํ•˜๋‹ค. ์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋‚ด์žฅ ๊ฐ์ฒด๊ฐ€ ์•„๋‹Œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ž์ฒด์—์„œ ๋ถˆ๋ณ€์„ฑ์„ ์ง€๋‹Œ ๋ณ„๋„์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…๊ณผ ๊ทธ์— ๋”ฐ๋ฅธ ๋ฉ”์„œ๋“œ๋ฅผ ์ œ๊ณตํ•œ๋‹ค. 2021. 11. 17.
HTML, CSS ์ฝ”๋“œ๋ฅผ React๋กœ ๋ณ€ํ™˜ํ•  ๋•Œ ์ฃผ์˜ํ•  ์  ๐Ÿณ ๊ฐ€ ์—ฌ๋Ÿฌ๊ฐœ ์žˆ์„ ๋• , ํƒœ๊ทธ๋กœ ์ „์ฒด ์ฝ”๋“œ๋ฅผ ๊ฐ์‹ธ์ค„ ๊ฒƒ! ex) import React from 'react'; class Login extends React.Component { return ( ์•ˆ๋…•ํ•˜์„ธ์š” ์•ˆ๋…•ํžˆ๊ณ„์„ธ์š” ); } ๐Ÿณ Self Closing Tag ๊ผญ ๋‹ซ์•„ ์ค„ ๊ฒƒ! , , , , , ์•ˆ ๋‹ซ์œผ๋ฉด ์˜ค๋ฅ˜ ๋– ์š” ๐Ÿณ ์ง ๋งž๋Š”์ง€ ํ™•์ธ ํ•  ๊ฒƒ! ๋ณธ์ธ์€ ์ง ์•ˆ๋งž์•„์„œ ํ•œ์ฐธ ์‚ฝ์งˆํ–ˆ์Œใ…  ๐Ÿณ import ๊ฒฝ๋กœ ํ™•์ธ ํ•  ๊ฒƒ! CSS ํŒŒ์ผ์ด๋‚˜ img ํŒŒ์ผ ๊ฒฝ๋กœ ์„ค์ • ์ž˜๋ชปํ•˜๋ฉด ์ ์šฉ์ด ์•ˆ๋ผ์š”ใ…Žใ…Ž... 2021. 11. 17.
arrow function์—์„œ { }(์ค‘๊ด„ํ˜ธ)๊ฐ€ ์žˆ๊ณ  ์—†๊ณ ์˜ ์ฐจ์ด ๐Ÿค (number) => {return number + 10} return์„ ๋ช…ํ™•ํ•˜๊ฒŒ ์ž‘์„ฑํ•ด์ฃผ์–ด์•ผํ•จ. ์•„๋‹ˆ๋ฉด undefined๋กœ ์ธ์‹์„ ํ•จ! ๐Ÿ‘‰๐Ÿป ์ค‘๊ด„ํ˜ธ๋ฅผ ์จ์•ผํ•˜๋Š” ๊ฒฝ์šฐ : ์—ฌ๋Ÿฌ ์ค„์„ ์ž‘์„ฑํ•˜๊ณ  ์‹ถ์„ ๋•Œ (number) => { // ์ถ”๊ฐ€์ ์ธ ๋กœ์ง return number + 10 } ๐Ÿค (number) => number + 10 ํ•˜๋‚˜์˜ ๊ฐ’์œผ๋กœ ๋”ฑ ๋–จ์–ด์ง€๋Š” ๊ฒฝ์šฐ์—๋Š” return์„ ์•ˆ ์จ์ค˜๋„ ๋จ! 2021. 11. 16.
ํ•จ์ˆ˜ ์„ ์–ธ๋ฌธ๊ณผ ํ•จ์ˆ˜ ํ‘œํ˜„์‹ ํ•จ์ˆ˜ ์„ ์–ธ๋ฌธ function ์ •์˜๋ถ€๋งŒ ์กด์žฌํ•˜๊ณ  ๋ณ„๋„์˜ ํ• ๋‹น ๋ช…๋ น์ด ์—†๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ๋ฐ˜๋“œ์‹œ ํ•จ์ˆ˜๋ช…์ด ์ •์˜๋ผ ์žˆ์–ด์•ผ ํ•œ๋‹ค. (๊ธฐ๋ช… ํ•จ์ˆ˜ ํ‘œํ˜„์‹) ๊ธฐ๋ช… ํ•จ์ˆ˜ ํ‘œํ˜„์‹์€ ์ฃผ์˜ํ•  ์ ์ด ํ•˜๋‚˜ ์žˆ๋‹ค. ๋ฐ”๋กœ ์™ธ๋ถ€์—์„œ๋Š” ํ•จ์ˆ˜๋ช…์œผ๋กœ ํ˜ธ์ถœํ•  ์ˆ˜ ์—†๋‹ค๋Š” ์ ์ด๋‹ค. ํ•จ์ˆ˜๋ช…์€ ์˜ค์ง ํ•จ์ˆ˜ ๋‚ด๋ถ€์—์„œ๋งŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•จ์ˆ˜ ํ‘œํ˜„์‹ ์ •์˜ํ•œ function์„ ๋ณ„๋„์˜ ๋ณ€์ˆ˜์— ํ• ๋‹นํ•˜๋Š” ๊ฒƒ ํ•จ์ˆ˜๋ช…์ด ์ •์˜๋˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค. (์ต๋ช… ํ•จ์ˆ˜ ํ‘œํ˜„์‹) ์ผ๋ฐ˜์ ์œผ๋กœ ํ•จ์ˆ˜ ํ‘œํ˜„์‹์€ ์ต๋ช… ํ•จ์ˆ˜ ํ‘œํ˜„์‹์„ ๋งํ•œ๋‹ค. ๐ŸŽˆํ•จ์ˆ˜๋ฅผ ์ •์˜ํ•˜๋Š” ์„ธ ๊ฐ€์ง€ ๋ฐฉ์‹ function a () { } // ํ•จ์ˆ˜ ์„ ์–ธ๋ฌธ. ํ•จ์ˆ˜๋ช… a๊ฐ€ ๊ณง ๋ณ€์ˆ˜๋ช… a(); // ์‹คํ–‰ var b = function () { } // (์ต๋ช…) ํ•จ์ˆ˜ ํ‘œํ˜„์‹. ๋ณ€์ˆ˜๋ช… b๊ฐ€ ๊ณง ํ•จ์ˆ˜๋ช… b(); // ์‹คํ–‰ var.. 2021. 11. 16.
์ฃผ์„ ์‚ฌ์šฉ๋ฒ• ๐ŸฅŠ React ์ฝ”๋“œ ์ฃผ์„ ํ•œ ์ค„ ์ฃผ์„ : // ์—ฌ๋Ÿฌ ์ค„ ์ฃผ์„ : /* */ Javascript์™€ ๋™์ผํ•จ! // ํ•œ ์ค„ ์ฃผ์„ componentDidMount() { // console.log("hello world"); return; }; // ์—ฌ๋Ÿฌ ์ค„ ์ฃผ์„ componentDidMount() { /* console.log("hello world"); return; */ }; 2021. 11. 16.
๋ฐ˜์‘ํ˜•