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

๋ฐ˜์‘ํ˜•

๐Ÿ’ป Deep Wide Programming/Javascript & Vanila JS

(10)
[์กฐ์ฝ”๋”ฉ]javascript- API ํ™œ์šฉ ์—ฐ์Šตํ•˜๊ธฐ(์นด์นด์˜คAPI๋กœ ์ฑ…๊ฒ€์ƒ‰ ์›น ๋งŒ๋“ค๊ธฐ) API๋งˆ๋‹ค ์ •ํ•ด์ง„ '์š”์ฒญ'๊ณผ '์‘๋‹ต'์˜ ํ˜•์‹์ด ์žˆ๋Š”๋ฐ, ์ด ํ˜•์‹์ด ์ž‘์„ฑ๋œ ๋ฌธ์„œ๋ฅผ API ๊ฐ€์ด๋“œ๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. 1. html ๊ธฐ๋ณธ ์„ธํŒ… ํ›„, 2. 3. Boby ์ค‘ ๋งจ ํ•˜๋‹จ์— ๋ณต๋ถ™ 4. jQuery๋ฅผ ์ด์šฉํ•œ AJAX ์“ฐ๊ธฐ (jQuery๋กœ ajax ํ•จ์ˆ˜๋ฅผ ์“ฐ๋ฉด ์„œ๋ฒ„์™€ ์ข€๋” ์‰ฝ๊ฒŒ ์†Œํ†ตํ•  ์ˆ˜ ์žˆ๋‹ค) api.jquery.com/jquery.ajax/ jQuery.ajax() | jQuery API Documentation Description: Perform an asynchronous HTTP (Ajax) request. The $.ajax() function underlies all Ajax requests sent by jQuery. It is often unnecessary to directly call t..
[์ƒํ™œ์ฝ”๋”ฉ JS] object inheritance ๊ฐ์ฒด ์ƒ์† (์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์‹œ๋ฆฌ์ฆˆ) ๐Ÿ“Œํด๋ž˜์Šค๋ฅผ ํ†ตํ•œ ์ƒ์†์ด ์•„๋‹Œ, ๊ฐ์ฒด๋ฅผ ํ†ตํ•œ ์ƒ์†์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ณ ์ž ํ•œ๋‹ค. โœ๏ธ ์ฃผ๋ฅ˜ ํด๋ž˜์Šค ๊ธฐ๋ฐ˜ ๊ฐ์ฒด์ง€ํ–ฅ์–ธ์–ด์˜ ๋ฐฉ์‹ ๊ฐ์ฒด์˜ ์†์„ฑ์€ ํด๋ž˜์Šค ๋‹จ์—์„œ ์ด๋ฏธ ๊ฒฐ์ •์ด ๋œ๋‹ค. ๊ฐ์ฒด๊ฐ€ ๋‹ค๋ฅธ ๊ฐ์ฒด์˜ ์†์„ฑ์„ ์ƒ์†๋ฐ›์„ ์ˆ˜ ์—†๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ๋Š” ๋‹ค๋ฅด๋‹ค! ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ๋Š” ๊ฐ€๋Šฅํ•˜๋‹ค. ๊ฐ์ฒด๊ฐ€ ์ง์ ‘ ๋‹ค๋ฅธ ๊ฐ์ฒด๋กœ๋ถ€ํ„ฐ ์ƒ์†๋ฐ›์„ ์ˆ˜ ์žˆ๊ณ , ์–ผ๋งˆ๋“ ์ง€ ์ƒ์†๊ด€๊ณ„๋ฅผ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ! ๋˜ ๋‹ค๋ฅธ ๊ฐ์ฒด๋กœ๋ถ€ํ„ฐ ์ƒ์†๋ฐ›๊ธฐ๋ฅผ ์›ํ•œ๋‹ค๋ฉด, ๋งํฌ ๊ต์ฒด๋ฅผ ํ†ตํ•ด ๊ฐ„๋‹จํ•˜๊ฒŒ ์ƒ์†๊ด€๊ณ„๋ฅผ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋‹ค. ์ด ๋งํฌ๋ฅผ 'prototype link'๋ผ๊ณ  ํ•œ๋‹ค. ์ด ๋งํฌ๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๊ณ  ์žˆ๋Š” ๊ฐ์ฒด๋ฅผ 'prototype object'๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. ๐Ÿ“Œ__proto__๋ฅผ ์ด์šฉํ•ด์„œ ์ƒ์†๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค. or ๐Ÿ“ŒObject.create(); ๋ฅผ ์ด์šฉํ•ด์„œ ์ƒ์†๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.
์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ํด๋ž˜์Šค์™€ ์˜ค๋ธŒ์ ํŠธ์˜ ์ฐจ์ด์  ์•Œ์•„๋ณด๊ธฐ(feat. ํŒŒ์ด์ฌ์ด๋ž‘ ๋ญ๊ฐ€ ๋‹ค๋ฅผ๊นŒ?) ๐Ÿ“Œ ํด๋ž˜์Šค์™€ ์˜ค๋ธŒ์ ํŠธ ๋ถ•์–ด๋นต ํ‹€(template) : ํด๋ž˜์Šค object: ํŒฅ์„ ๋„ฃ์œผ๋ฉด ํŒฅ๋ถ•์–ด๋นต, ํฌ๋ฆผ ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ์œผ๋ฉด ํฌ๋ฆผ ๋ถ•์–ด๋นต! โœ…ํŒŒ์ด์ฌ์—์„œ์˜ ํด๋ž˜์Šค์™€ ๊ฐ์ฒด ๊ฐœ๋…๊ณผ ๊ฐ™๋‹ค. ๋‘˜๋‹ค ๊ฐ์ฒด์ง€ํ–ฅ์–ธ์–ด! ๐Ÿ“Œ์ž๋ฐ”์ŠคํŠธ๋ฆฝํŠธ์—์„œ ํด๋ž˜์Šค ์‚ฌ์šฉํ•˜๋Š”๋ฒ• ํŒŒ์ด์ฌ๊ณผ ๋‹ค๋ฅด๊ฒŒ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ๋Š”, ํด๋ž˜์Šค๋ฅผ ์„ ์–ธํ•˜๊ธฐ ์œ„ํ•ด 'constructor'๊ฐ€ ํ•„์š”ํ•˜๋‹ค. ํŒŒ์ด์ฌ์—์„œ๋Š” def ์™€ self๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค๋ฉด, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ๋Š” 'constructor/method์™€ this'๋ฅผ ์ด์šฉํ•œ๋‹ค. ๊ตฌ์กฐ๋Š” ์œ ์‚ฌํ•˜๋‹ค. ๋˜ํ•œ ์˜ค๋ธŒ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•  ๋•Œ๋„ ์ฐจ์ด๊ฐ€ ์žˆ๋‹ค. ํŒŒ์ด์ฌ์—์„œ๋Š” ๋ณ„๋‹ค๋ฅธ ๋ณ„๋„ ์ฝ”๋“œ ์—†์ด ๊ทธ๋ƒฅ ์ƒ์„ฑํ•˜๋ฉด ๋˜๋Š”๋ฐ, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ๋Š” const์™€ new๋ฅผ ์จ์ค€๋‹ค. ๐Ÿ“Œ Getter & Setter incapsulation => private ๋งŒ๋“œ๋Š” ๊ฒƒ ํด..
[๋…ธ๋งˆ๋“œ์ฝ”๋”] ๋ฐ”๋‹๋ผ JS 2/ ๋ฐฑํ‹ฑ! ๊ณผ๊ฑฐ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ–ˆ๋‹ค. ๋ฐ”๋กœ ๋‚ด๊ฐ€ ์ƒํ™œ์ฝ”๋”ฉ์—์„œ ๋ฐฐ์› ๋˜ ๋ฐฉ์‹์ด๋‹ค! ์ด ๋ฐฉ์‹์—์„œ ๋ฌธ์ž์—ด์€ ' '๋“ , " "๋“  ๊ฐ™์•˜๋‹ค. ์—ฌ๊ธฐ์— ์ƒˆ๋กœ์šด ๋ฐฉ์‹์ด ์ถ”๊ฐ€๋˜์—ˆ๋Š”๋ฐ ๋ฐ”๋กœ ์ € ``๋ฐฑํ‹ฑ์ด๋ผ๋Š” ๊ฒƒ์ด๋‹ค. ๋งฅ ํ‚ค๋ณด๋“œ์—๋Š” ๋ˆˆ์„ ์”ป๊ณ  ์ฐพ์•„๋ด๋„ ์—†์—ˆ๋‹ค. ์•Œ๊ณ  ๋ดค๋”๋‹ˆ ๋ฐฑํ‹ฑ์€ ์ด๋ฏธ ์ฃฝ์€ ํ‚ค๋กœ.. option + โ‚ฉ ์„ ๋ˆ„๋ฅด๋ฉด ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ๋‹ค. ``์„ ์ด์šฉํ•ด, ์œ„์˜ ์ฝ”๋“œ๋ฅผ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ณด๋‹ค ํŽธํ•˜๊ฒŒ ๋งŒ๋“ค์–ด์ค„ ์ˆ˜ ์žˆ๋‹ค. function sayHello(name, age){ console.log(`Hello ${name} you are ${age} years old`); } ์ด๋ ‡๊ฒŒ! ์ด๋ฒˆ์—๋Š” greetNicolas๋ผ๋Š” ์ƒˆ๋กœ์šด ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•ด์„œ ์ด ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•ด๋ณด๊ฒ ๋‹ค. greetNicolas๋Š” sayHello ํ•จ..
[๋…ธ๋งˆ๋“œ์ฝ”๋”] ๋ฐ”๋‹๋ผ JS 1~ 1-10 ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ.. ๋„ˆ....Super Cool! ๋‹ˆ์ฝœ๋ผ์Šค์˜ ๋ฐ”๋‹๋ผ JS ์‹œ๋ฆฌ์ฆˆ๋ฅผ ์‹œ์ž‘ํ–ˆ๋‹ค. ๊ทธ๋žฌ๋”๋‹ˆ, ์ƒํ™œ์ฝ”๋”ฉ์˜ js๋ฅผ ๋ฐฐ์šธ ๋•Œ์™€๋Š” ๋˜ ๋‹ค๋ฅธ ์„ธ๊ณ„๊ฐ€ ์—ด๋ ธ๋‹ค! ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ์ด๋ ‡๊ฒŒ ๋ฉ‹์ง€๊ณ  ์ฟจํ•œ ๊ฒƒ๋“ค์„ ํ•  ์ˆ˜ ์žˆ๋‹ค๋‹ˆ!! ๊ทธ๋ฆฌ๊ณ  ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ๊ทธ ์–ด๋– ํ•œ ๋‹ค๋ฅธ ์–ธ์–ด๋กœ๋„ ๋Œ€์ฒดํ•  ์ˆ˜ ์—†๋Š” ๊ฐ•๋ ฅํ•œ ์–ธ์–ด์˜€๋‹ค๋‹ˆ!! ์•„๋ž˜์˜ ์‚ฌ์ดํŠธ์—๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ๋งŒ๋“  ๊ฒŒ์ž„๋“ค์ด ์žˆ๋‹ค. ๋ฉ‹์ง€๋‹ค......๋‚˜๋„ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ด์šฉํ•ด์„œ ์šฐ๋ฆฌ ์šฐ๋ด‰์ด๋กœ ๊ฒŒ์ž„ ๋งŒ๋“ค์–ด์•ผ์ง€!!! https://impactjs.com/games Impact Games impactjs.com ๋ฐ”๋‹๋ผ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ž€? ์•ž์„œ์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ๊ณต๋ถ€ํ•  ๋•Œ ๊ทธ๋Ÿฐ ์˜๋ฌธ์ด ์žˆ์—ˆ๋‹ค. ๊ตฌ๊ธ€์— ๊ฒ€์ƒ‰ํ•ด๋ณด๋ฉด, ์–ด๋–ค ๋ช…๋ น์„ ์œ„ํ•ด ์“ฐ์ด๋Š” ์ฝ”๋“œ๊ฐ€ ํฌ์ŠคํŒ…๋งˆ๋‹ค ์กฐ๊ธˆ์”ฉ ๋‹ค๋ฅธ๊ฑฐ๋‹ค. ๋‚˜๋Š” ์ƒํ™œ ์ฝ”๋”ฉ์—์„œ docu..
[์ƒํ™œ์ฝ”๋”ฉ] Javascript ๊ฐ์ฒด(object) ์“ฐ๊ธฐ์™€ ์ฝ๊ธฐ ํ•จ์ˆ˜ ํ€ต ๋ฆฌ๋ทฐ function ํ•จ์ˆ˜์ด๋ฆ„(๋งค๊ฐœ๋ณ€์ˆ˜1, ๋งค๊ฐœ๋ณ€์ˆ˜2,...) { ํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ๋˜์—ˆ์„ ๋•Œ ์‹คํ–‰ํ•˜๊ณ ์ž ํ•˜๋Š” ์‹คํ–‰๋ฌธ; } 1. ๊ฐ์ฒด ์“ฐ๊ธฐ 2. ๊ฐ์ฒด ์ฝ๊ธฐ 3. ๊ฐ์ฒด์— ์ถ”๊ฐ€ํ•˜๊ธฐ 4. ๋„์–ด์“ฐ๊ธฐ ์žˆ๋Š” ๊ฐ์ฒด ์ถ”๊ฐ€ํ•˜๊ณ  ์ฝ๊ธฐ for(var key in coworkers) { document.write(key+':'+coworkers[key]+' '); } (Array ๋ฐฐ์—ด ๊ธฐ์ดˆ ์ฐธ๊ณ : http://tcpschool.com/javascript/js_array_basic) ๊ฐ์ฒด์— ์†Œ์†๋œ ํ•จ์ˆ˜ = method ๊ฐ์ฒด์— ์†Œ์†๋œ ๋ณ€์ˆ˜ = property ์œ„์˜ ๋‚ด์šฉ์œผ๋กœ ์น˜๋ฉด, coworkers์— ๊ฑธ๋ ค์žˆ๋Š” ํ•จ์ˆ˜์ธ function(){ }์— ํ•ด๋‹นํ•˜๋Š” ๋‚ด์šฉ์ด ๋ฐ”๋กœ method์ด๊ณ , coworkers์— ๊ฑธ๋ ค์žˆ๋Š” ๋ณ€์ˆ˜์ธ progra..
[์ƒํ™œ์ฝ”๋”ฉ] ๋ฐฐ์—ด๊ณผ ๋ฐ˜๋ณต๋ฌธ์˜ ํ™œ์šฉ / ํ•จ์ˆ˜์˜ ๊ธฐ๋ณธ, ๋งค๊ฐœ๋ณ€์ˆ˜์™€ ์ธ์ž, ์ถœ๋ ฅ ๋ฐฐ์—ด๊ณผ ๋ฐ˜๋ณต๋ฌธ์˜ ํ™œ์šฉ ํ•จ์ˆ˜ ์ด๋ ‡๊ฒŒ, ์œ„์— two๋ผ๋Š” ์ด๋ฆ„์˜ ํ•จ์ˆ˜๋ฅผ ์ง€์ •ํ•ด์คฌ๊ณ , ์ดํ›„์— two()๋ผ๊ณ ๋งŒ ์ ์–ด์ฃผ๋ฉด, ๊ธธ๊ฒŒ ์ฝ”๋“œ๋ฅผ ๋ฐ˜๋ณตํ•ด์ค„ ํ•„์š”์—†์ด ํ•ด๋‹น ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค! ๋งค๊ฐœ๋ณ€์ˆ˜์™€ ์ธ์ž parameter & Argumnet ์ž…๋ ฅ(๋งค๊ฐœ๋ณ€์ˆ˜)๊ณผ Parameter & Argument(์ธ์ž) function sum(left, right){ document.write(left+rigth+' '); } ํƒœ๊ทธ ์•ˆ์—์„œ ํ•จ์ˆ˜์˜ ๋‚ด์šฉ์„ ์œ„์™€ ๊ฐ™์ด ์ •์˜ํ•ด์ค€๋‹ค. sum(2,3); sum(3,4); ์ด๋ ‡๊ฒŒ ์‹คํ–‰์‹œ์ผœ์ฃผ๋ฉด ์™ผ์ชฝ์˜ ํ™”๋ฉด์ฒ˜๋Ÿผ 5์™€ 7์ด ์‚ฐ์ถœ๋œ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์ถœ๋ ฅ Return ์ถœ๋ ฅ์„ ์ด์šฉํ•˜๋ฉด, ๋‹จ์ˆœ ๋ง์…ˆ ๋ฟ ์•„๋‹ˆ๋ผ, ๋” ์ถ”๊ฐ€์ ์ธ ๋‹ค์–‘ํ•œ ์š”์†Œ๋“ค์„ ์ถœ๋ ฅํ•ด์•ผํ•  ๋•Œ ์œ ์šฉํ•˜๋‹ค. ์ด์ „์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ํ•จ์ˆ˜๋ฅผ ..
[์ƒํ™œ์ฝ”๋”ฉ] javascript - ๋ฐฐ์—ด๊ณผ ๋ฐ˜๋ณต๋ฌธ ๋ฐฐ์—ด ๋ฐ˜๋ณต๋ฌธ ๋ฐ˜๋ณต๋ฌธ์€ while์„ ์ด์šฉํ•ด์ฃผ๋Š” ๊ฒƒ! i=0 ์ด๋ผ๋Š” ๋ณ€์ˆ˜๋ฅผ ๋จผ์ € ์ง€์ •ํ•ด์ฃผ๋Š” ๊ฒƒ์ด๋‹ค. i

728x90
๋ฐ˜์‘ํ˜•