๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๊ฐœ๋ฐœ66

vue router / query vs params vue router ๋ทฐ๋กœ ์‹ฑ๊ธ€ ํŽ˜์ด์ง€ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌํ˜„ํ•  ๋•Œ ํ™”๋ฉด ์ „ํ™˜ ๋ฐ ํŽ˜์ด์ง€ ์ด๋™์„ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค. ์›น์—์„œ ๋ผ์šฐํŒ…์€ ํŽ˜์ด์ง€ ๊ฐ„์˜ ์ด๋™ ๋ฐฉ๋ฒ•์„ ๋œปํ•˜๋Š”๋ฐ ๋ทฐ๋Š” ํ™”๋ฉด ์ด๋™ ์‹œ DOM์„ ์ƒˆ๋กœ ๊ฐฑ์‹ ํ•˜์ง€ ์•Š๊ณ  ๋ณ€๊ฒฝ๋œ ์ปดํฌ๋„ŒํŠธ๋งŒ ๊ฐฑ์‹ ํ•˜์—ฌ ๊นœ๋นก์ž„ ์—†์ด ๋งค๋„๋Ÿฝ๊ฒŒ ์ „ํ™˜๋˜๋Š” ์žฅ์ ์ด ์žˆ๋‹ค. ํŽ˜์ด์ง€ ์ด๋™ ํƒœ๊ทธ๋กœ ํ™”๋ฉด์—์„œ ํƒœ๊ทธ๋กœ ์น˜ํ™˜๋˜์–ด ์‹คํ–‰๋œ๋‹ค. :to ์†์„ฑ path: ์ด๋™ํ•˜๋ ค๋Š” ๊ฒฝ๋กœ name: ์ด๋™ํ•˜๋ ค๋Š” ๊ฒฝ๋กœ๋ฅผ ๋ผ์šฐํ„ฐ์— ์„ค์ •๋œ ์ด๋ฆ„์œผ๋กœ ์ง€์ • query: query string ํ˜•ํƒœ๋กœ ์ „๋‹ฌ๋˜๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ, GET ๋ฐฉ์‹ params: name ์†์„ฑ์„ ์ง€์ •ํ•˜์—ฌ ์ด๋™ํ•  ๋•Œ(path๊ฐ€ ์•„๋‹Œ) ์ „๋‹ฌ๋  ํŒŒ๋ผ๋ฏธํ„ฐ, POST ๋ฐฉ์‹ query vs. params ๐Ÿง params๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด path๊ฐ€ ์•„๋‹Œ name์œผ๋กœ ์ด๋™.. 2022. 6. 14.
LeetCode - Missing Number https://leetcode.com/problems/missing-number/ Missing Number - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com ์กฐ๊ฑด n == nums.length ์ด๊ณ  nums์˜ ๋ชจ๋“  ์ˆซ์ž๋Š” ์ค‘๋ณต์ด ์—†๋‹ค. nums ๋ฐฐ์—ด์˜ ๊ฐ’์€ 0 a+b, 0); return (nums.length) * (nums.length + 1) / 2 - sum; }; ๊ฐœ์„  ์ฝ”๋“œ 2 - ๋น„ํŠธ XOR์€ ๊ฐ’์ด ๋‘ ๋ฒˆ ์ ์šฉ๋˜๋ฉด ์ดˆ๊ธฐ ๊ฐ’์œผ๋กœ ๋Œ์•„์˜จ๋‹ค. - ์ˆœ์„œ๊ฐ€ .. 2022. 5. 30.
Object.freeze ๊ฐ์ฒด ๋™๊ฒฐ / ๊ฐ์ฒด ์ฝ๊ธฐ ์†๋„ Object.freeze() ๊ฐ์ฒด์— ์ƒˆ๋กœ์šด ์†์„ฑ์„ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์ œ๊ฑฐํ•  ์ˆ˜ ์—†๋Š” ์ƒํƒœ๋กœ ๋ฐ”๊พธ์–ด immutableํ•œ Object๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. ํ”„๋กœํ† ํƒ€์ž… ๊ฐ์ฒด๋ฅผ ๋™๊ฒฐํ•˜๋Š” ํ•จ์ˆ˜ ๋™๊ฒฐ๋œ ๊ฐ์ฒด๋Š” ์†์„ฑ์„ ์ถ”๊ฐ€, ์‚ญ์ œํ•˜๋Š” ๋“ฑ ๋ณ€๊ฒฝ ๋ถˆ๊ฐ€ ๊ฐ์ฒด๋ฅผ ๋ณ€๊ฒฝํ•˜๋ ค๋Š” ์‹œ๋„ ์‹œ TypeError ์˜ˆ์™ธ ๋ฐœ์ƒ ๊ฐ์ฒด์˜ ๋ถˆ๋ณ€์„ฑ ์œ ์ง€ ์–•์€ ๋ณต์‚ฌ(1 depth๊นŒ์ง€๋งŒ)๋ฅผ ํ•˜๋ฏ€๋กœ ์ค‘์ฒฉ๋œ ๊ฐ์ฒด๋Š” ๋™๊ฒฐ๋˜์ง€ ์•Š์Œ Object.isFrozen() ๋ฉ”์†Œ๋“œ๋กœ ๊ฐ์ฒด ๋™๊ฒฐ ์—ฌ๋ถ€ ํ™•์ธ ๊ฐ€๋Šฅ const info = { name: 'Anna', age: 19 }; Object.freeze(info); info.age = 20; // ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์Œ info.email = 'hello@gmail.com'; // ์ถ”๊ฐ€๋˜์ง€ ์•Š์Œ const vs. Object.freeze.. 2022. 5. 12.
ES6 Syntax ๋ชฉ์ฐจ Restructing(๊ตฌ์กฐ ๋ถ„ํ•ด ํ• ๋‹น) Spread Operator(์ „๊ฐœ ๊ตฌ๋ฌธ) Default Parameters(๊ธฐ๋ณธ ๊ฐ’ ๋งค๊ฐœ๋ณ€์ˆ˜) Template Literal(ํ…œํ”Œ๋ฆฟ ๋ฆฌํ„ฐ๋Ÿด) Arrow Function(ํ™”์‚ดํ‘œ ํ•จ์ˆ˜) for of ... loop 1. Restructuring(๊ตฌ์กฐ ๋ถ„ํ•ด ํ• ๋‹น) ๋ฐฐ์—ด์ด๋‚˜ ๊ฐ์ฒด์˜ ์†์„ฑ์„ ํ•ด์ฒดํ•˜์—ฌ ๊ทธ ๊ฐ’์„ ๊ฐœ๋ณ„ ๋ณ€์ˆ˜์— ๋‹ด์„ ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ํ‘œํ˜„์‹ 1-1. ๊ฐ์ฒด โœ” ๊ตฌ๋ฌธ ES5 ์—์„œ๋Š” ๊ฐ ๋ณ€์ˆ˜์— ๊ฐ’์„ ํ• ๋‹นํ•ด์•ผ ํ–ˆ๋‹ค. var info = { myName: 'Anna', myAge: 10 }; var myName = info.myName; var myAge = info.myAge; console.log(myName, myAge);// Anna 10 ES6 ์—์„œ๋Š” ์ค‘๊ด„ํ˜ธ ์•ˆ์—.. 2022. 5. 3.
TypeScript TypeScript ๋ž€? Javascript ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜์—ฌ ์ •์  ํƒ€์ž… ๋ฌธ๋ฒ•์„ ์ถ”๊ฐ€ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด JavaScript ์˜ ์ƒ์œ„ ์ง‘ํ•ฉ์œผ๋กœ Microsoft ์—์„œ ๊ฐœ๋ฐœํ–ˆ๋‹ค. ๋”ฐ๋ผ์„œ JavaScript์˜ ๋ชจ๋“  ๊ธฐ๋Šฅ์„ TypeScript ์—์„œ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ES6 ์‹ ๊ทœ ๋ฌธ๋ฒ•์„ ํฌํ•จํ•˜๊ณ  ํด๋ž˜์Šค, ์ธํ„ฐํŽ˜์ด์Šค, ์ƒ์†, ๋ชจ๋“ˆ ๋“ฑ์˜ ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจํ„ด์„ ์ œ๊ณตํ•œ๋‹ค. TypeScript ์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ TypeScript(.ts) ํŒŒ์ผ์„ Javascript(.js) ํŒŒ์ผ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ์‹คํ–‰ํ•œ๋‹ค. TypeScript vs. JavaScript ๐Ÿง ์†๋„, ์•ˆ์ •์„ฑ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ๋™์  ํƒ€์ž… ์–ธ์–ด๋กœ ๋Ÿฐํƒ€์ž„ ์†๋„๋Š” ๋น ๋ฅด์ง€๋งŒ, ํƒ€์ž… ์•ˆ์ •์„ฑ์€ ๋ณด์žฅ๋˜์ง€ ์•Š๋Š”๋‹ค. ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ๋Š” ์ •์  ํƒ€์ž… ์–ธ์–ด๋กœ ์ปดํŒŒ์ผ ์‹œ๊ฐ„์ด ๊ธธ์ง€๋งŒ, ์•ˆ์ •.. 2022. 4. 28.
์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ / Promise / async / await / fetch ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ ๊ตฌ์กฐ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ์›๋ž˜ ์‹ฑ๊ธ€ ์Šค๋ ˆ๋“œ ๊ธฐ๋ฐ˜ ์–ธ์–ด์ด๋ฉฐ ๋™๊ธฐ์ ์œผ๋กœ ์‹คํ–‰๋œ๋‹ค. ํ˜ธ์ถœ ์Šคํƒ(Call Stack)์ด ํ•˜๋‚˜์—ฌ์„œ ์Šคํƒ ๋‚ด์— ์Œ“์ธ ์ž‘์—…์„ ์ˆœ์„œ๋Œ€๋กœ ์ฒ˜๋ฆฌํ•œ๋‹ค. ํ•˜์ง€๋งŒ, ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋Š” ์ฝ”๋“œ๊ฐ€ ์žˆ์œผ๋ฉด ๊ทธ ์ž‘์—…์ด ๋๋‚˜๊ณ  ์ฝœ๋ฐฑํ•  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ ธ๋‹ค๊ฐ€ ๋‹ค์Œ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•˜๊ฒŒ ๋œ๋‹ค. ๊ทธ ์‹œ๊ฐ„ ๋™์•ˆ์€ ๋Œ€๊ธฐํ•ด์•ผ ํ•˜๋ฏ€๋กœ ๋น„๋™๊ธฐ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ํ•„์š”ํ•˜๋‹ค. setTimeout() ์œผ๋กœ ์ผ์ • ์‹œ๊ฐ„ ๋™์•ˆ ์ž‘์—…์„ ์ง€์—ฐ์‹œํ‚ค๋Š” ์˜ˆ์‹œ์ด๋‹ค. ์ด ์˜ˆ์ œ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด 3์ดˆ ๋’ค์— '3์ดˆ ์ง€์—ฐ!'์ด๋ผ๋Š” ๋ฌธ๊ตฌ๋ฅผ ์ฐ๋Š”๋‹ค. setTimeout(function() { console.log('3์ดˆ ์ง€์—ฐ!'); }, 3000); ์ง€๊ธˆ์€ 3์ดˆ์งœ๋ฆฌ ์ฝ”๋“œ์ด์ง€๋งŒ, ์„œ๋ฒ„์—์„œ ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์˜ค๋Š” ๋“ฑ์˜ ์ฒ˜๋ฆฌ๊ฐ€ ํ•„์š”ํ•  ๋•Œ๋Š” ๋” ์‹œ๊ฐ„์ด ๊ธธ์–ด์ง€๊ฒŒ ๋œ๋‹ค.. 2022. 4. 20.
$nextTick() Vue DOM ์กฐ์ž‘ ์‹œ ์ฃผ์˜ํ•ด์•ผ ํ•  ์  Vue.js์—์„œ data ๊ฐ€ ์—…๋ฐ์ดํŠธ๋˜๊ณ  ๋‚œ ์งํ›„ UI๊ฐ€ ๊ฐฑ์‹ ๋  ๋•Œ Vue๊ฐ€ DOM์„ ์ฐพ์ง€ ๋ชปํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋ฐœ์ƒํ•˜๊ธฐ๋„ ํ•œ๋‹ค. DOM์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ๋น„๋™๊ธฐ์ ์œผ๋กœ ์—…๋ฐ์ดํŠธํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, created ํ›…์—์„œ DOM์„ ์กฐ์ž‘ํ•˜๋ ค๊ณ  ํ•  ๋•Œ๋Š” ์•„์ง DOM ์ƒ์„ฑ์ด ๋˜๊ธฐ ์ „์ด๋ฏ€๋กœ ํƒœ๊ทธ๋ฅผ ์ฐพ์ง€ ๋ชปํ•˜๊ฒŒ ๋œ๋‹ค. created๋Š” ์ธ์Šคํ„ด์Šค๊ฐ€ ์ž‘์„ฑ๋œ ํ›„ ๋™๊ธฐ์ ์œผ๋กœ ํ˜ธ์ถœ๋˜๋ฉฐ mounted๋ณด๋‹ค ๋จผ์ € ํ˜ธ์ถœ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ€์ƒ๋”์„ ์กฐ์ž‘ํ•  ์ˆ˜๋Š” ์—†๋‹ค. mounted๋Š” el์— ์ธ์Šคํ„ด์Šค๊ฐ€ ๋งˆ์šดํŠธ๋œ ์งํ›„ ํ˜ธ์ถœ๋˜์–ด ๊ฐ€์ƒ๋” ์กฐ์ž‘์ด ๊ฐ€๋Šฅํ•˜๋‹ค. created: function() { var dom = document.getElementById('item1'); dom.style.backgroundColor.. 2022. 4. 18.
Promise ํŒจํ„ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋™์ž‘ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ• ๊นŒ? ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•  ๊ฑฐ๋ฉด ๊ธฐ๋ณธ์ ์ธ ๋™์ž‘ ์›๋ฆฌ์— ๋Œ€ํ•ด์„œ๋Š” ์•Œ์•„์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค. ๊ฐ„๋‹จํ•˜๊ฒŒ ์š”์•ฝํ•˜๋ฉด, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ์‹ฑ๊ธ€ ์Šค๋ ˆ๋“œ ๊ธฐ๋ฐ˜์ด๊ณ  ์ฝœ๋ฐฑ ํ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„ V8 ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ธํ„ฐํ”„๋ฆฌํ„ฐ ์—ญํ• ์„ ํ•˜๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„์ด ํ•„์š”ํ•˜๋‹ค. ๋Œ€์ค‘์ ์œผ๋กœ ์•Œ๋ ค์ง„ ์—”์ง„์€ ๊ตฌ๊ธ€์˜ V8 ์—”์ง„์œผ๋กœ ํฌ๋กฌ ์›น ๋ธŒ๋ผ์šฐ์ €, Node.js ๋“ฑ์—์„œ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋‹ค. V8 ์—”์ง„์˜ ๋‚ด๋ถ€ ๊ตฌ์กฐ๋ฅผ ๊ฐ„๋‹จํžˆ ๋‚˜ํƒ€๋‚ด๋ฉด ์ด๋ ‡๋‹ค. Memory Heap ๊ณผ Call Stack ์ด ์ฃผ์š” ๊ตฌ์„ฑ์š”์†Œ์ด๋‹ค. Memory Heap: ๋ณ€์ˆ˜์™€ ๊ฐ์ฒด์— ๋Œ€ํ•œ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์ด ์ผ์–ด๋‚˜๋Š” ๊ณณ Call Stack: ํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ๋˜๋ฉด ์ˆœ์„œ๋Œ€๋กœ ์Œ“์ด๋Š” ๊ณณ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์‹ฑ๊ธ€ ์Šค๋ ˆ๋“œ ๊ธฐ.. 2022. 4. 14.
Vue ์ƒ๋ช…์ฃผ๊ธฐ Vue ์ธ์Šคํ„ด์Šค ๋ผ์ดํ”„ ์‚ฌ์ดํด ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ ์‹œ ๋ฐ์ดํ„ฐ ๊ด€์ฐฐ, ํ…œํ”Œ๋ฆฟ ์ปดํŒŒ์ผ, DOM ์— ๊ฐ์ฒด ์—ฐ๊ฒฐ, ๋ฐ์ดํ„ฐ ๋ณ€๊ฒฝ ์‹œ DOM ์„ ์—…๋ฐ์ดํŠธ ํ•˜๊ฒŒ ๋œ๋‹ค. โ‘  Creation: ์ปดํฌ๋„ŒํŠธ ์ดˆ๊ธฐํ™” ๋‹จ๊ณ„ ์ปดํฌ๋„ŒํŠธ๊ฐ€ DOM์— ์ถ”๊ฐ€๋˜๊ธฐ ์ „, ํด๋ผ์ด์–ธํŠธ๋‹จ๊ณผ ์„œ๋ฒ„๋‹จ ๋ Œ๋”๋ง ๋ชจ๋‘์—์„œ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•  ์ผ๋กœ ์•„์ง ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋”์— ์ถ”๊ฐ€๋˜๊ธฐ ์ „์ด๊ธฐ ๋•Œ๋ฌธ์— ๋”์— ์ ‘๊ทผํ•˜๊ฑฐ๋‚˜ this.$el๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค. - beforeCreate Vue.JS์˜ ๋ผ์ดํ”„ ์‚ฌ์ดํด ํ›… ์ค‘์—์„œ ๊ฐ€์žฅ ๋จผ์ € ์‹คํ–‰ ๋˜๋Š” ํ›…์ž…๋‹ˆ๋‹ค. data์™€ ์ด๋ฒคํŠธ($on, $once, $off, $emit), ๊ฐ์‹œ์ž($watch)๋“ฑ์ด ์„ค์ • ๋˜๊ธฐ ์ „์— ํ˜ธ์ถœ๋˜๋Š” ๋ผ์ดํ”„ ์‚ฌ์ดํด ํ›…์ด๋‹ค. - created data, computed, methods, watch ๋“ฑ๊ณผ ๊ฐ™์€ ์˜ต์…˜ ์„ค์ •์ด .. 2022. 4. 13.
Vue3 Composition API Composition API ๋ž€? Composition API๋Š” ์ปดํฌ๋„ŒํŠธ ๋กœ์ง์„ ์œ ์—ฐํ•˜๊ฒŒ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ํ•จ์ˆ˜ ๊ธฐ๋ฐ˜ API์ด๋‹ค. ๊ธฐ์กด์—๋Š” data, methods, computed์— ๋กœ์ง์ด ๋ถ„๋ฆฌ๋˜์–ด ์žˆ์–ด ๋ฐ์ดํ„ฐ๊ฐ€ ์–ด๋””์—์„œ ์‚ฌ์šฉ๋˜๋Š”์ง€ ํŒŒ์•…ํ•˜๊ธฐ ํž˜๋“ค์—ˆ๋‹ค. ์ปดํฌ๋„ŒํŠธ์˜ ๊ณ„์ธต๊ตฌ์กฐ๊ฐ€ ๋ณต์žกํ•ด์ง€๊ฑฐ๋‚˜ ํ”„๋กœ์ ํŠธ ๊ทœ๋ชจ๊ฐ€ ์ปค์ง€๋ฉด ์ถ”์ฒ™ ๋ฐ ๊ด€๋ฆฌ์— ์–ด๋ ค์›€์ด ์žˆ๋‹ค. ์ปดํฌ์ง€์…˜ API๋Š” setup() ์ด๋ผ๋Š” ๋ฉ”์„œ๋“œ ์•ˆ์— ๋กœ์ง์„ ๋ชจ์•„๋†“๋Š” ๊ตฌ์กฐ์ด๋‹ค. ๋ฐ์ดํ„ฐ๊ฐ€ ์–ด๋–ป๊ฒŒ ๋ณ€ํ™”ํ•˜๊ณ  ์‚ฌ์šฉ๋˜๋Š”์ง€ ๊ทธ๋ฃนํ•‘ํ•˜์—ฌ ๋ฐ์ดํ„ฐ์˜ ํ๋ฆ„ ํŒŒ์•…์ด ์‰ฝ๊ณ  ์œ ์ง€๋ณด์ˆ˜์— ์šฉ์ดํ•˜๋‹ค. Setup ํ•จ์ˆ˜ ์ปดํฌ๋„ŒํŠธ ๊ฐ์ฒด์—์„œ ์†์„ฑ์œผ๋กœ ๋ถ„๋ฆฌ๋˜์—ˆ๋˜ ๊ธฐ๋Šฅ ๋Œ€๋ถ€๋ถ„(data, methods, computed)์„ setup ํ•จ์ˆ˜ ์•ˆ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๋˜ํ•œ, setup๋Š” beforeCre.. 2022. 4. 6.