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

Javascript11

[TS] ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ(TypeScript)๋ž€? (feat. ์จ์•ผํ•˜๋Š” ์ด์œ ) ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ(TypeScript)๋ž€? ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์Šˆํผ์…‹์ธ ์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ด๋‹ค. ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ์—์„œ ๊ฐœ๋ฐœ, ์œ ์ง€ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ์—„๊ฒฉํ•œ ๋ฌธ๋ฒ•์„ ์ง€์›ํ•œ๋‹ค. C#์˜ ๋ฆฌ๋“œ ์•„ํ‚คํ…ํŠธ์ด์ž ๋ธํŒŒ์ด, ํ„ฐ๋ณด ํŒŒ์Šค์นผ์˜ ์ฐฝ์‹œ์ž์ธ Anders Hejlsberg๊ฐ€ ๊ฐœ๋ฐœ์— ์ฐธ์—ฌํ•œ๋‹ค. ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด๋“œ์™€ ์„œ๋ฒ„ ์‚ฌ์ด๋“œ๋ฅผ ์œ„ํ•œ ๊ฐœ๋ฐœ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„์„ ์‚ฌ์šฉํ•˜๋ฉด์„œ ์ปค๋‹ค๋ž€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๊ฒŒ ์„ค๊ณ„๋œ ์–ธ์–ด์ด๋‹ค.์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์Šˆํผ์…‹์ด๊ธฐ ๋•Œ๋ฌธ์— ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ์ž‘์„ฑ๋œ ํ”„๋กœ๊ทธ๋žจ์ด ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ๋„ ๋™์ž‘ํ•œ๋‹ค. ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ์—์„œ ์ž์‹ ์ด ์›ํ•˜๋Š” ํƒ€์ž…์„ ์ •์˜ํ•˜๊ณ  ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•˜๋ฉด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ์ปดํŒŒ์ผ๋˜์–ด ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ๋Š” ๋ชจ๋“  ์šด์˜ ์ฒด์ œ, ๋ชจ๋“  ๋ธŒ๋ผ์šฐ์ €, ๋ชจ๋“  ํ˜ธ์ŠคํŠธ์—.. 2022. 3. 8.
[JS] ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฒ• ์•Œ์•„๋ณด๊ธฐ(Callback,Promise,Async & Await) ์•ˆ๋…•ํ•˜์„ธ์š” Foma๐Ÿ’ป ์ž…๋‹ˆ๋‹ค. ์˜ค๋Š˜๋„ ๋ชจ๋˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ํ†ตํ•ด ๋ฐฐ์šด Callback ํ•จ์ˆ˜์™€ Promise์— ๋Œ€ํ•ด์„œ ์ œ๊ฐ€ ์ดํ•ดํ•œ ๋ฐฉ์‹๋Œ€๋กœ ์ •๋ฆฌํ•ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ฐ”๋กœ ์‹œ์ž‘ํ• ๊ฒŒ์š”~ Callback Callback ํ•จ์ˆ˜๋Š” ์‹คํ–‰ํ•˜๋Š” ์ฆ‰์‹œ ์™„๋ฃŒ๋˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ํŠน์ • ์ž‘์—…์„ ์‹คํ–‰ํ•˜๊ณ  ๋งˆ์นœ ๋’ค์— ์™„๋ฃŒ๋œ๋‹ค. ์ฆ‰, ๋น„๋™๊ธฐ์ ์œผ๋กœ ์ฒ˜๋ฆฌ๋˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ๋งŒ์•ฝ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋งŒ๋“œ๋Š” ์ž‘์—…์ด ์žˆ๋‹ค๋ฉด ์ž‘์—…์ด ์ •์ƒ์ ์œผ๋กœ ์ฒ˜๋ฆฌ๋˜๊ฑฐ๋‚˜ ์ค‘๊ฐ„์—์„œ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ์— ์ž‘์—…์ด ์™„๋ฃŒ๋œ๋‹ค. ์ฝœ๋ฐฑ ํ•จ์ˆ˜๊ฐ€ ์™„๋ฃŒ๋˜๋Š” ๊ฒฝ์šฐ๋Š” ์ •์ƒ์ ์œผ๋กœ ์ฒ˜๋ฆฌ๋˜์—ˆ๊ฑฐ๋‚˜, ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒฝ์šฐ ๋ฟ์ด๋‹ค. ์ฝœ๋ฐฑ ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ์‹์€ ์›ํ•˜๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ ๊ฐ’๊ณผ ํ•จ๊ป˜ ์ž‘์—…์„ ์‹คํ–‰ํ•  ํ•จ์ˆ˜๋ฅผ ๋ฐ˜๋“œ์‹œ ๊ฐ™์ด ๋„ฃ์–ด์ค€๋‹ค. function loadScript(src,callback) { let s.. 2022. 2. 15.
[JS] Static,Protected,Private์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ธฐ ์•ˆ๋…•ํ•˜์„ธ์š” Foma๐Ÿ’ป ์ž…๋‹ˆ๋‹ค! ์˜ค๋Š˜๋„ ๋ชจ๋˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ๋ฐฐ์šด Static,Protected,Private ์— ๋Œ€ํ•ด ์ œ๊ฐ€ ์ดํ•ดํ•œ ๊ฒƒ์„ ๋ฐ”ํƒ•์œผ๋กœ ์ •๋ฆฌํ•ด ๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค! ๋ฐ”๋กœ ์‹œ์ž‘ํ• ๊ฒŒ์š”~ Static Static์€ ์ •์ ์ด๋ผ๋Š” ์˜๋ฏธ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์–ด, ๋ณ€ํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๋œป์ด๋‹ค. ์ด๊ฒƒ์„ ์ด์šฉํ•˜์—ฌ ์ •์  ๋ฉ”์„œ๋“œ, ํ”„๋กœํผํ‹ฐ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. ์‰ฝ๊ฒŒ ๋งํ•˜๋ฉด ํด๋ž˜์Šค์—์„œ ๊ณตํ†ต์ ์œผ๋กœ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ถ€๋ถ„์ด๋‚˜ ๊ธฐ๋Šฅ์„ ๋ฏธ๋ฆฌ ์ •์˜ํ•ด ๋†“๋Š” ๊ฒƒ์ด๋‹ค. Static Property class Person { //๋ชจ๋“  ์‚ฌ๋žŒ์ด ๋™์ผํ•˜๊ฒŒ ๊ฐ€์ง€๊ณ  ์žˆ๊ณ  ๋ณ€ํ•˜์ง€ ์•Š๋Š” ๊ฐ’ static planet = "์ง€๊ตฌ" } //ํด๋ž˜์Šค ์ž์ฒด์—์„œ ๋ฐ”๋กœ ์ฝ๊ธฐ ๊ฐ€๋Šฅ console.log(Person.planet) //์ง€๊ตฌ Static Method class User { co.. 2022. 2. 15.
[JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 124 ๋‚˜๋ผ์˜ ์ˆซ์ž Problem ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - 124 ๋‚˜๋ผ์˜ ์ˆซ์ž programmers.co.kr Solution 1. 3์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ answer๋ฐฐ์—ด์— ๋„ฃ๋Š”๋‹ค. 3์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ answer ๋ฐฐ์—ด์— ๋„ฃ๋˜, ๋‚˜๋จธ์ง€๊ฐ€ 0์ด๋ผ๋ฉด 3๋ฒˆ์งธ ๊ฐ’์ด๋ฏ€๋กœ 4๋กœ ๋Œ€์ฒดํ•ด์„œ ๋„ฃ์–ด์ค€๋‹ค. 2. ์ˆซ์ž๊ฐ€ 0์ด ๋  ๋•Œ๊นŒ์ง€ 3์œผ๋กœ ๋‚˜๋ˆˆ๋‹ค. 3์œผ๋กœ ๋‚˜๋ˆ ๊ฐ€๋ฉด์„œ ํ˜„์žฌ ์ˆซ์ž๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š”๋ฐ, ์ˆซ์ž๊ฐ€ 1,2,4 ์ด๋ ‡๊ฒŒ 3๊ฐœ๊นŒ์ง€ ํ—ˆ์šฉ๋˜๊ธฐ ๋–„๋ฌธ์— 0์œผ๋กœ ๋‚˜๋ˆ ์ง„ ๊ฒƒ์€ 3๋ฒˆ์งธ๋ผ๋Š” ์˜๋ฏธ์—ฌ์„œ ๋‹ค์Œ ์ˆซ์ž๋กœ ๋„˜์–ด๊ฐ€๋ฉด ์•ˆ๋˜๋ฏ€๋กœ ๋ชซ์— -1์„ ํ•ด์ค€๋‹ค. ๊ทธ๊ฒŒ ์•„๋‹ˆ๋ผ๋ฉด 3์œผ๋กœ ๋‚˜๋ˆ ์ค€ ๊ฐ’์œผ๋กœ ๋ณ€๊ฒฝํ•œ๋‹ค. 3. ๋ฐฐ์—ด์— ์žˆ๋Š” ์ˆซ์ž๋ฅผ ๋’ค์ง‘๊ณ  ๋ฌธ์ž์—ด๋กœ ๋ณ€๊ฒฝํ•ด ๋ฐ˜ํ™˜ํ•œ๋‹ค. ๋ฐฐ์—ด์— ์Œ“์ธ ์ˆซ์ž๋Š” ๊ฑฐ๊พธ๋กœ ์ €์žฅ๋˜์–ด ์žˆ๋Š” ๊ฒƒ์ด๋ฏ€๋กœ revese() ๋ฉ”์„œ๋“œ๋ฅผ ์ด์šฉํ•ด ๋’ค์ง‘์–ด ์ฃผ๊ณ , ์ •๋‹ต์„ ๋ฌธ์ž์—ด๋กœ ๋ฐ˜.. 2022. 2. 14.
[JS] ํด๋ž˜์Šค(Class) ๊ธฐ๋ณธ ๋ฌธ๋ฒ•๊ณผ ์ƒ์† ์•ˆ๋…•ํ•˜์„ธ์š” Foma๐Ÿ’ป ์ž…๋‹ˆ๋‹ค! ์ด๋ฒˆ ๊ธ€๋„ ์—ญ์‹œ ๋ชจ๋˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ๋ฐฐ์šด 'ํด๋ž˜์Šค'๋ฅผ ์ œ๊ฐ€ ์ดํ•ดํ•œ ๋ฐฉ์‹์œผ๋กœ ๋ณต์Šตํ•˜๋Š” ์ฐจ์›์—์„œ ์ •๋ฆฌํ•ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ”๋กœ ์‹œ์ž‘ํ• ๊ฒŒ์š”~ ํด๋ž˜์Šค๋ž€? ํด๋ž˜์Šค๋Š” ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ํŠน์ • ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ๋ณ€์ˆ˜์™€ ๋ฉ”์†Œ๋“œ๋ฅผ ์ •์˜ํ•˜๋Š” ์ผ์ข…์˜ ํ‹€๋กœ, ๊ฐ์ฒด๋ฅผ ์ •์˜ํ•˜๊ธฐ ์œ„ํ•œ ์ƒํƒœ(๋ฉค๋ฒ„ ๋ณ€์ˆ˜)์™€ ๋ฉ”์„œ๋“œ(ํ•จ์ˆ˜)๋กœ ๊ตฌ์„ฑ๋œ๋‹ค. - ์œ„ํ‚ค ๋ฐฑ๊ณผ - ์ฆ‰, ํด๋ž˜์Šค๋Š” ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค๊ธฐ ์‰ฝ๊ฒŒ ๋ฏธ๋ฆฌ ํ‹€์„ ๋งŒ๋“ค์–ด ๋†“๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํด๋ž˜์Šค ์ƒ์„ฑํ•˜๊ธฐ ์•ž์— ํด๋ž˜์Šค๋ฅผ ๋ถ™์—ฌ์ค€ ๋’ค constructor(์ƒ์„ฑ์ž)๋ฅผ ์ด์šฉํ•ด์„œ ์ดˆ๊ธฐํ™” ํ•ด์ค€๋‹ค. ๋ฉ”์„œ๋“œ๋‚˜ ํ”„๋กœํผํ‹ฐ๋ฅผ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฒ•์€ ์ผ๋ฐ˜ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค ๋•Œ์™€ ๋™์ผํ•˜๋‹ค. class Player { constructor(name) { this.height = 180 this.n.. 2022. 2. 12.
[JS] ํ”„๋กœํ† ํƒ€์ž…(Prototype) ๋‹ค๋ค„๋ณด๊ธฐ ์•ˆ๋…•ํ•˜์„ธ์š” Foma ๐Ÿ’ป ์ž…๋‹ˆ๋‹ค. ์˜ค๋Š˜๋„ ์—ญ์‹œ ๋ชจ๋˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ํ†ตํ•ด ๋ฐฐ์šด ํ”„๋กœํ† ํƒ€์ž…์„ ๋ณต์Šตํ•˜๋Š” ์ฐจ์›์—์„œ ๋‹ค์‹œ ํ•œ๋ฒˆ ์ •๋ฆฌํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ฐ”๋กœ ์‹œ์ž‘ํ• ๊ฒŒ์š”~ Prototype์ด๋ž€? ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๋ชจ๋“  ๊ฐ์ฒด๋Š” ์ˆจ๊น€ ํ”„๋กœํผํ‹ฐ๋กœ Prototype์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์ด๊ฒƒ์€ null์ด๊ฑฐ๋‚˜ ๋‹ค๋ฅธ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ ์ด๊ฒƒ์„ ํ†ตํ•ด์„œ ํ•ด๋‹น ๊ฐ์ฒด์˜ ๊ธฐ๋Šฅ(๋ฉ”์„œ๋“œ)์„ ๋ณต์‚ฌํ•˜๊ฑฐ๋‚˜ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ ‡๊ฒŒ ์ฐธ์กฐํ•œ ๋‹ค๋ฅธ ๊ฐ์ฒด๋ฅผ ํ˜„์žฌ ๊ฐ์ฒด์˜ 'ํ”„๋กœํ† ํƒ€์ž…'์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. Prototype ์„ค์ •ํ•˜๊ธฐ 1. __proto__ ์šด๋™์„ ์ˆ˜๋ฅผ ์ง€์นญํ•˜๋Š” 'player'๋ผ๋Š” ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๊ณ  let player = { firstName:"Young", lastName:"An", get fullName() { return this.firstName .. 2022. 2. 12.
[JS] ํ”„๋กœํผํ‹ฐ ์˜ต์…˜(ํ”Œ๋ž˜๊ทธ) ๋‹ค๋ฃจ๊ธฐ(Property Flag) ์•ˆ๋…•ํ•˜์„ธ์š” Foma๐Ÿ’ป ์ž…๋‹ˆ๋‹ค. ์˜ค๋Š˜์€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ํ”„๋กœํผํ‹ฐ ํ”Œ๋ž˜๊ทธ์— ๋Œ€ํ•ด์„œ ์ •๋ฆฌํ•ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์‚ฌ์ดํŠธ์—์„œ ๊ณต๋ถ€ํ•˜๋Š” ๊ฒƒ์„ ๋ณต์Šตํ•˜๋Š” ์ฐจ์›์—์„œ ์ œ๊ฐ€ ์ดํ•ดํ•œ ๋ฐฉ์‹์œผ๋กœ ์ ์–ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค! ๋ฐ”๋กœ ์‹œ์ž‘ํ• ๊ฒŒ์š”~ Property Flag๋ž€? ํ”„๋กœํผํ‹ฐ๋Š” ๊ฐ’ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ํ”Œ๋ž˜๊ทธ๋ผ ๋ถˆ๋ฆฌ๋Š” ํŠน๋ณ„ํ•œ ์†์„ฑ 3๊ฐ€์ง€๋ฅผ ๊ฐ€์ง„๋‹ค. 1. writable ํ•ด๋‹น ํ”„๋กœํผํ‹ฐ๋ฅผ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๊ฒŒ ์„ค์ •ํ•˜๋Š” ํ”Œ๋ž˜๊ทธ 2. enumrable ํ•ด๋‹น ํ”„๋กœํผํ‹ฐ๋ฅผ ๋‚˜์—ดํ•  ์ˆ˜ ์žˆ๊ฒŒ ์„ค์ •ํ•˜๋Š” ํ”Œ๋ž˜๊ทธ 3. configurable ํ•ด๋‹น ํ”„๋กœํผํ‹ฐ๋ฅผ ์‚ญ์ œ, ํ”Œ๋ž˜๊ทธ ์ˆ˜์ •์ด ๊ฐ€๋Šฅํ•˜๊ฒŒ ์„ค์ •ํ•˜๋Š” ํ”Œ๋ž˜๊ทธ Property Flag ํ™•์ธํ•˜๋Š” ๋ฐฉ๋ฒ• Object.getOwnPropertyDescriptor(๊ฐ์ฒด,ํ”„๋กœํผํ‹ฐ๋ช…)์œผ๋กœ ํ™•์ธํ•˜๊ณ , ์ดˆ๊ธฐ์—” ๋ชจ๋‘ true๋กœ ์„ค์ •๋˜์–ด ์žˆ.. 2022. 2. 12.
[JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ํฐ์ผ“๋ชฌ Problem ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ํฐ์ผ“๋ชฌ ๋‹น์‹ ์€ ํฐ์ผ“๋ชฌ์„ ์žก๊ธฐ ์œ„ํ•œ ์˜ค๋žœ ์—ฌํ–‰ ๋์—, ํ™ ๋ฐ•์‚ฌ๋‹˜์˜ ์—ฐ๊ตฌ์‹ค์— ๋„์ฐฉํ–ˆ์Šต๋‹ˆ๋‹ค. ํ™ ๋ฐ•์‚ฌ๋‹˜์€ ๋‹น์‹ ์—๊ฒŒ ์ž์‹ ์˜ ์—ฐ๊ตฌ์‹ค์— ์žˆ๋Š” ์ด N ๋งˆ๋ฆฌ์˜ ํฐ์ผ“๋ชฌ ์ค‘์—์„œ N/2๋งˆ๋ฆฌ๋ฅผ ๊ฐ€์ ธ๊ฐ€๋„ ์ข‹๋‹ค๊ณ  ํ–ˆ์Šต๋‹ˆ๋‹ค. programmers.co.kr Solution 1. nums์˜ ๊ธธ์ด์˜ ๋ฐ˜์„ ๊ตฌํ•œ๋‹ค. let half = nums.length/2 2. Set์— nums์— ์žˆ๋Š” ๋ฒˆํ˜ธ๋ฅผ ๋„ฃ๋Š”๋‹ค. let set = new Set() for (let i = 0; i < nums.length; i++) { set.add(nums[i]) } 3. Set์˜ ์‚ฌ์ด์ฆˆ์™€ nums์˜ ๊ธธ์ด์˜ ๋ฐ˜๊ณผ ๋น„๊ตํ•ด ๋” ์ž‘์€ ๊ฒƒ์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. return Math.min(set.size,half) Source Code fun.. 2022. 2. 6.
[JS] JSON๊ณผ ๊ฐ์ฒด ๋‹ค๋ฃจ๊ธฐ ์•ˆ๋…•ํ•˜์„ธ์š” Foma ๐Ÿ’ป ์ž…๋‹ˆ๋‹ค! ์˜ค๋Š˜์€ JavaScript๋กœ JSON๊ณผ ๊ฐ์ฒด๋ฅผ ๋‹ค๋ฃจ๋Š” ๋ฒ•์— ๋Œ€ํ•ด์„œ ์ •๋ฆฌํ•ด ๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ฐ”๋กœ ์‹œ์ž‘ํ• ๊ฒŒ์š”~ ๊ฐ์ฒด๋ฅผ JSON์œผ๋กœ ๋ฐ”๊พธ๊ธฐ JSON.stringify(๊ฐ์ฒด) ๊ตฌ๋ฌธ์„ ์‚ฌ์šฉํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค. let user = { name:"foma", age:27, color:"Black", [Symbol("id")]:123 } let json = JSON.stringify(user) console.log(json) //{"name":"foma","age":27,"color":"Black"} ๋งŒ์•ฝ ๋ฉ”์„œ๋“œ๋‚˜ undefined๊ฐ’์„ ๊ฐ€์ง„ ํ”„๋กœํผํ‹ฐ๊ฐ€ ์žˆ๋‹ค๋ฉด ์ž๋™์œผ๋กœ ๋ฌด์‹œํ•ฉ๋‹ˆ๋‹ค. user.sayHi = function() { print("sayHi") } user.somthing = un.. 2022. 2. 5.
[JS] ๊ตฌ์กฐ๋ถ„ํ•ด(Destructuring) (feat. ์‰ฝ๊ฒŒ ๋ณ€์ˆ˜ ๋งŒ๋“ค๊ธฐ) ์•ˆ๋…•ํ•˜์„ธ์š” Foma ๐Ÿ’ป ์ž…๋‹ˆ๋‹ค! ์˜ค๋Š˜์€ JavaScript์—์„œ ์•„์ฃผ ์œ ์šฉํ•˜๊ฒŒ ๋ณ€์ˆ˜๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๊ตฌ์กฐ๋ถ„ํ•ด์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ฐ”๋กœ ์‹œ์ž‘ํ• ๊ฒŒ์š”~ ๋ฐฐ์—ด ๋ถ„ํ•ดํ•ด์„œ ๋ณ€์ˆ˜ ๋งŒ๋“ค๊ธฐ ๋Œ€๊ด„ํ˜ธ๋ฅผ ์ด์šฉํ•ด์„œ ๋ณ€์ˆ˜์— ๊ฐ’์„ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. let arr = ["foma","gran"] let [foma,gran] = arr console.log(foma) //"foma" console.log(gran) //"gran" ๋ฌธ์ž์—ด ๋ถ„ํ•ดํ•ด์„œ ๋ณ€์ˆ˜ ๋งŒ๋“ค๊ธฐ ๋ฌธ์ž์—ด์„ ์›ํ•˜๋Š” ๋‹จ์œ„๋กœ ๋ถ„ํ•ดํ•˜์—ฌ ๋ณ€์ˆ˜๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. let fomagran = "foma,gran" let [foma,gran] = fomagran.split(',') console.log(foma) //"foma" console.log(gran) //"gra.. 2022. 2. 5.
[JS] iOS ๊ฐœ๋ฐœ์ž๊ฐ€ ์ดํ•ดํ•˜๋Š” JavaScript ๊ธฐ์ดˆ๋ฌธ๋ฒ• (feat. Swift) ์•ˆ๋…•ํ•˜์„ธ์š” Foma ๐Ÿ’ป ์ž…๋‹ˆ๋‹ค! ์–ผ๋งˆ ์ „์— ๋ฆฌ์•กํŠธ ๋„ค์ดํ‹ฐ๋ธŒ๋กœ ์ƒˆ๋กœ์šด ํ”„๋กœ์ ํŠธ๋ฅผ ๋งก๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. JavaScript๋ฅผ ๊ณต๋ถ€ํ•˜๋‹ค๋ณด๋‹ˆ Swift๋ž‘ ๋น„์Šทํ•œ ๊ฒƒ๋„ ์žˆ๊ณ  ์•„๋‹Œ ๋ถ€๋ถ„๋„ ๋งŽ๋”๋ผ๊ตฌ์š”. ๊ทธ๋ž˜์„œ ์›๋ž˜ ์ต์ˆ™ํ–ˆ๋˜ Swift๋ฅผ ๊ธฐ์ค€์œผ๋กœ JavaScript์™€ ๋‹ค๋ฅธ ์ ์— ๋Œ€ํ•ด์„œ๋งŒ ์ •๋ฆฌํ•ด ๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค! ๋ฐ”๋กœ ์‹œ์ž‘ํ• ๊ฒŒ์š”~ ๋ณ€์ˆ˜์™€ ์ƒ์ˆ˜ Swift์—์„  ์ƒ์ˆ˜๋ฅผ let,๋ณ€์ˆ˜๋ฅผ var๋กœ ์“ด๋‹ค. let name = "Fomagran" //์ƒ์ˆ˜ var name = "Fomagran" //๋ณ€์ˆ˜ JavaScript๋Š” ์ƒ์ˆ˜๋ฅผ const,๋ณ€์ˆ˜๋ฅผ let์ด๋ผ๊ณ  ์“ด๋‹ค. ์ด๋ฏธ ์ƒ์ˆ˜ let์— ์ต์ˆ™ํ•ด ์žˆ๋Š” ์ƒํƒœ๋ผ์„œ.. ์‹ค์ˆ˜๋ฅผ ๋งŽ์ด ํ•  ๊ฒƒ ๊ฐ™๋‹ค. const name = "Fomagran" //์ƒ์ˆ˜ let name = "Fomagran" //๋ณ€์ˆ˜ ์ถœ.. 2022. 2. 5.
728x90
๋ฐ˜์‘ํ˜•