๐Ÿ’กJavascript์— ๋Œ€ํ•œ ๊ธฐ์ดˆ ์ง€์‹ ๋ฐ ์ด๋ก  ์ •๋ฆฌ

18146 ๋‹จ์–ด JavaScriptJavaScript

1.๋ฐ์ดํ„ฐํƒ€์ž…-๋ฌธ์ž์—ด๊ณผ ์ˆซ์ž

1-1. ๋ฐ์ดํ„ฐํƒ€์ž… ์ข…๋ฅ˜

  • Boolean
  • Null
  • Undefined
  • Number (์ˆซ์ž)
  • String (๋ฌธ์ž์—ด)
  • Symbol

1-2. String(๋ฌธ์ž์—ด)

  • ๋ฌธ์ž๋Š” ""('')์‚ฌ์šฉ
  • .length ๋ฌธ์ž์—ด์˜ ๊ฐฏ์ˆ˜๋ฅผ ์•Œ๋ ค์คŒ
  • .toUpperCase( ) ๋Œ€๋ฌธ์ž ์•ŒํŒŒ๋ฒณ์œผ๋กœ ๋ณ€๊ฒฝ
  • .indexOf( ) ๋ฌธ์ž์˜ ์œ„์น˜๋ฅผ ์ฐพ์•„์คŒ
  • .trim( ) ๊ณต๋ฐฑ์„ ์—†์• ์คŒ


2. ๋ณ€์ˆ˜์™€ ๋Œ€์ž… ์—ฐ์‚ฐ์ž

  • x(๋ณ€์ˆ˜) =(๋Œ€์ž…์—ฐ์‚ฐ์ž) 1 ;
  • ๋Œ€์ž…์—ฐ์‚ฐ์ž : ์ขŒํ•ญ๊ณผ ์šฐํ•ญ์„ ๊ฒฐํ•ฉํ•ด์„œ ์šฐํ•ญ์˜ ๊ฐ’์„ ๋งŒ๋“ค์–ด ๋‚ธ๋‹ค.
  • 1(์ƒ์ˆ˜)=2; -> ์„ฑ๋ฆฝ๋˜์ง€ ์•Š๋Š” ์ˆ˜์‹
  • varibale(๋ณ€์ˆ˜) vs constant(์ƒ์ˆ˜)
  • ์‹คํ–‰ = enter / ์‹คํ–‰์œ ๋ณด = shift + enter
  • ๋ณ€์ˆ˜ ์‚ฌ์šฉํ•  ๋•Œ ์•ž์— 'var' ๋ถ™์—ฌ์„œ ์‚ฌ์šฉ ํ•  ๊ฒƒ ex) var name ="sujin" ;
  • ๋ณ€์ˆ˜ ์‚ฌ์šฉ์˜ ์ด์œ : ๋ฐฉ๋Œ€ํ•œ ์ž๋ฃŒ ์† ํŠน์ •ํ•œ ๋ฌธ์ž๋ฅผ ๋ณ€์ˆ˜๋ฅผ ์ด์šฉํ•˜์—ฌ ์ •ํ™•ํ•˜๊ณ  ๋น ๋ฅด๊ฒŒ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋‹ค.


3. ์ œ์–ดํ•  ํƒœ๊ทธ ์„ ํƒํ•˜๊ธฐ

  • javascript select tag by css selector
    : element = document .querySelector(selectors);
    ex) var el = document .querySelector(".myclass");

  • javascript element style
    : var x = document .getElementById("myH1").style;

  • javascript style background-color

    : document.body.style.backgroundColor="red"


4. ํ”„๋กœ๊ทธ๋žจ, ํ”„๋กœ๊ทธ๋ž˜, ํ”„๋กœ๊ทธ๋ž˜๋จธ

  • HTML: ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด(X), ์‹œ๊ฐ„์— ์ˆœ์„œ์— ๊ตฌ์•  ๋ฐ›์ง€ ์•Š๋Š”๋‹ค
  • JAVASCRIPT : ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด(0), ์‚ฌ์šฉ์ž์™€์˜ ์ƒํ˜ธ์ž‘์šฉ, ์‹œ๊ฐ„์˜ ์ˆœ์„œ์— ๋”ฐ๋ผ ์‹คํ–‰
  • ํ”„๋กœ๊ทธ๋žจ : ์ˆœ์„œ
  • ํ”„๋กœ๊ทธ๋ž˜๋ฐ : ์ˆœ์„œ๋ฅผ ๋งŒ๋“œ๋Š” ํ–‰์œ„ -> ๋ฐ˜๋ณต์ ์ธ ์ผ์„ ํ•˜์ง€ ์•Š์•„๋„ ๋จ
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ: ์ˆœ์„œ๋ฅผ ๋งŒ๋“œ๋Š” ์‚ฌ๋žŒ


5. ์กฐ๊ฑด๋ฌธ

  • ์กฐ๊ฑด๋ฌธ: ์กฐ๊ฑด์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ์ˆœ์„œ์˜ ๊ธฐ๋Šฅ๋“ค์ด ์‹คํ–‰ ๋˜๋„๋ก ํ•จ -> ๋ณต์žกํ•œ ์ผ์„ ํ•ด๊ฒฐ


6. ๋น„๊ต ์—ฐ์‚ฐ์ž์™€ ๋ธ”๋ฆฌ์–ธ

6-1. === (๋น„๊ต ์—ฐ์‚ฐ์ž)

ex) 1 === 1 : true / 1===2 : false

6-2. true / false (๋ธ”๋ฆฌ์–ธ)

html '<' ์€ '<' ๋กœ ํ‘œํ˜„ํ•œ๋‹ค


7. ์กฐ๊ฑด๋ฌธ

document .write("1");
if (true){
      document.write("2");
}    else  {
     document.write("3");
}
document.write("4");	

โžก if ( true or false ) { A } else { B }

  • if ์ ˆ์˜ ๊ฐ’์ด true ์ผ ๋•Œ, else ์กฐ๊ฑด๋ฌธ(B) ์ด ์ƒ๋žต ๋˜๊ณ ,
  • if ์ ˆ์˜ ๊ฐ’์ด false ์ผ ๋•Œ, if ์กฐ๊ฑด๋ฌธ(A) ์ด ์ƒ๋žต ๋œ๋‹ค.


8. ์กฐ๊ฑด๋ฌธ์˜ ํ™œ์šฉ

  • javascript element get value
    : document.querySelector('selector' ).value;


9. ๋ฆฌํŒฉํ† ๋ง ์ค‘๋ณต์˜ ์ œ๊ฑฐ

  • ๋ฆฌํŒฉํ† ๋ง: ๋น„ํšจ์šธ์ ์ธ ์ฝ”๋“œ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๋งŒ๋“ค์–ด ๊ฐ€๋…์„ฑ์„ ๋†’์ด๊ณ  ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์‰ฝ๋„๋ก ์ฝ”๋“œ๋ฅผ ๊ฐœ์„ 

9-1. this: ์ด๋ฒคํŠธ๊ฐ€ ์†ํ•ด ์žˆ๋Š” ์ž์‹ ์„ ๊ฐ€๋ฅดํ‚ด (๋”ฐ๋กœ id, class๋ช…์„ ์„ค์ •ํ•˜์ง€ ์•Š์•„๋„ ๋จ)

    if(document.querySelector('#night_day').value ==='night'){
    document.querySelector('body').style.backgroundColor='black';
    document.querySelector('body').style.color='white';
    document.querySelector('#night_day').value='day';
    } else {
    document.querySelector('body').style.backgroundColor='white';
    document.querySelector('body').style.color='black';
    document.querySelector('#night_day').value='night';
    }
    if(this.value ==='night'){
    document.querySelector('body').style.backgroundColor='black';
    document.querySelector('body').style.color='white';
    this.value='day';
    } else {
    document.querySelector('body').style.backgroundColor='white';
    document.querySelector('body').style.color='black';
    this.value='night';
    }

โ˜์ฝ”๋”ฉ์„ ์ž˜ํ•˜๋Š” tip : ์ค‘๋ณต๋˜๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ!

9-2. ์ค‘๋ณต๋˜๋Š” ์ฝ”๋“œ ์ด๋ฆ„ ์„ค์ •

    if(this.value ==='night'){
    document.querySelector('body').style.backgroundColor='black';
    document.querySelector('body').style.color='white';
    this.value='day';
    }
   var target = document.querySelector('body');	
    if(this.value ==='night'){
    target.style.backgroundColor='black';
    target.style.color='white';
    this.value='day';
    }



10. ๋ฐฐ์—ด(Array)

  • [ "๊ฐ’1", "๊ฐ’2" ]
    index 0 = ๊ฐ’1
    index 1 = ๊ฐ’2

  • javascript array count
    : var fruits = ["Banana" , "Orange" , "Apple", "Mango"]; fruits.length;

  • javascript array add data
    : var fruits = ["Banana" , "Orange" , "Apple", "Mango"]; fruits.push("Kiwi");


11. ๋ฐ˜๋ณต๋ฌธ(Loop)

  • ๋ฐ˜๋ณต๋ฌธ: ์ˆœ์„œ๋Œ€๋กœ ํ๋ฅด๋Š” ์ˆœ์„œ๋ฌธ์˜ ํ๋ฆ„์„ ์ œ์–ด
  • while(ture / false ){ ์ฝ”๋“œ }
    : ( ) ์•ˆ์— ๊ฐ’์ด false๊ฐ€ ๋  ๋•Œ๊นŒ์ง€ { } ์•ˆ์— ์ฝ”๋“œ ๋“ค์ด ์‹คํ–‰ ๋จ, ( ) ์•ˆ์— ๊ฐ’์ด false๊ฐ€ ๋˜๋ฉด
  • while๋ฌธ : ๋ฐ”๊นฅ์— ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋จ. (๋ฐ˜๋ณต๋ฌธ ์ข…๋ฃŒ)
  • var i = 0; : ์‹คํ–‰ ์ฝ”๋“œ๊ฐ€ ๋ช‡๋ฒˆ ์‹คํ–‰ ๋๋Š”์ง€ ์ ๋Š” ์ฝ”๋“œ


12. ๋ฐฐ์—ด๊ณผ ๋ฐ˜๋ณต๋ฌธ์˜ ํ™œ์šฉ

  • querySelector : ์ฐพ์œผ๋ ค๊ณ  ํ•˜๋Š” ํƒœ๊ทธ์˜ ์ฒซ ๋ฒˆ์งธ๋งŒ ์ฐพ์•„์˜ค๋Š” ์†์„ฑ์ด ์žˆ์Œ( ํ•ด๋‹นํ•˜๋Š” ๋ชจ๋“  ํƒœ๊ทธ๋ฅผ ๊ฐ€์ ธ์˜ค๋ ค๊ณ  ํ• ๋•Œ ์‚ฌ์šฉํ•˜๊ธฐ์—๋Š” ๋ถ€์ ์ ˆํ•จ)
  • javascript get element by css selector multiple
    : document.querySeletorAll( );


13. ํ•จ์ˆ˜ (function)

  • ์—ฐ์†์ ์ธ ๋ฐ˜๋ณต์ด ์•„๋‹ˆ๋ผ๋ฉด ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค. ํ•จ์ˆ˜๋ฅผ ์ด์šฉ !
  • ๊ธฐ๋ณธ ํ˜•์‹ : function night name( ) { ์ฝ”๋“œ }
  • ์‹คํ–‰ ์ฝ”๋“œ : name ( ) ;


14. ํ•จ์ˆ˜ : ๋งค๊ฐœ๋ณ€์ˆ˜์™€ ์ธ์ž

  • ์žํŒ๊ธฐ ์Œ๋ฃŒ ์„ ํƒ : ์ž…๋ ฅ
  • ์Œ๋ฃŒ ๋‚˜์˜ด : ์ถœ๋ ฅ
  • ํ•จ์ˆ˜ : ์ž…๋ ฅ์™€ ์ถœ๋ ฅ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Œ
  function sum( left, right){
           document.write(left+right);
  }
  sum(2,3);
  sum(3,4);
  • (left, right) => ๋งค๊ฐœ๋ณ€์ˆ˜
  • (2,3)/(3,4) => ์ธ์ž
  • ๋งค๊ฐœ๋ณ€์ˆ˜์™€ ์ธ์ž๋Š” ํ•จ์ˆ˜์— ๋“ค์–ด์˜ค๋Š” ์ž…๋ ฅ๊ฐ’!


15. ๊ฐ์ฒด

  • ํ•จ์ˆ˜์™€ ์—ฐ๊ด€
  • ์ •๋ฆฌ์ •๋ˆ์˜ ์ˆ˜๋‹จ
  • ๋ณ€์ˆ˜๊ฐ€ ๋งŽ์•„์ ธ ํ•œ๊ณ„์— ๋ถ€๋”ชํ˜”์„ ๋•Œ, ์„œ๋กœ ์—ฐ๊ด€๋œ ํ•จ์ˆ˜์™€ ๋ณ€์ˆ˜๋ฅผ ๊ฐ™์€ ์ด๋ฆ„์œผ๋กœ ์ •๋ฆฌ์ •๋ˆ ํ•˜๋Š” ๊ฒƒ

15-1. ํ•จ์ˆ˜์˜ ์ด๋ฆ„์ด ์ค‘๋ณต ๋  ๋•Œ : ๊ธฐ์กด์˜ ์ฝ”๋“œ๊ฐ€ ๋‹ค์Œ์— ๋‚˜์˜ค๋Š” ์ฝ”๋“œ(์ค‘๋ณต)์— ์˜ํ•ด ๋ฎ์–ด์“ฐ๊ธฐ ๋˜๋ฉด์„œ ์‚ญ์ œ ๋จ

  • ์ด๋ฆ„์ด ์ค‘๋ณต ๋˜์ง€ ์•Š๋„๋ก ์•ž์— ๊ตฌ๋ถ„ํ•ด์ฃผ๊ธฐ
    function SetColor( ) โžก unction LinksSetColor( ), function BodysetColor( )

  • ๋ฐ์ดํ„ฐ์˜ ์–‘์ด ๋งŽ์•„์ง€๋ฉด ์ด๋ฆ„๋„ ๊ธธ์–ด ์งˆ ์ˆ˜ ์žˆ์Œ, ๋”ฐ๋ผ์„œ ๊ธธ์–ด์ง€๋Š” ์ด๋ฆ„์„ ํŽธ๋ฆฌํ•˜๊ฒŒ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ํด๋”, ๋””๋ ‰ํ† ๋ฆฌ์˜ ์—ญํ• ์˜ ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉ
    LinksSetColor( ) โžก Links.setcolor( )
    BodysetColor( ) โžก Body.setcolor( )

  • document.querySelector( )
    ๊ฐ์ฒด : documnet / ํ•จ์ˆ˜ : querySelector
    ๊ฐ์ฒด์— ์†ํ•ด์žˆ๋Š” ํ•จ์ˆ˜๋Š” '๋ฉ”์†Œ๋“œ'๋ผ๊ณ  ๋ถˆ๋ฆฐ๋‹ค.


16. ๊ฐ์ฒด ์“ฐ๊ธฐ์™€ ์ฝ๊ธฐ

  • ๋ฐฐ์—ด: ์ •๋ณด๋ฅผ ๋‹ด๋Š” ๊ทธ๋ฆ‡, ์ˆœ์„œ๋Œ€๋กœ ์ •๋ณด๋ฅผ ์ €์žฅ / '[]'์‚ฌ์šฉ
  • ๊ฐ์ฒด: ์ˆœ์„œ ์—†์ด ์ •๋ณด๋ฅผ ์ €์žฅ (์ด๋ฆ„์ด ์žˆ๋Š” ์ •๋ฆฌ์ •๋ˆ ์ƒ์ž) / '{}'์‚ฌ์šฉ
  • ์ด๋ฆ„์— ๋„์–ด์“ฐ๊ธฐ๋ฅผ ๋„ฃ์„ ์ˆ˜ ์—†์Œ, '[]' ๋ฅผ ์‚ฌ์šฉ ํ•  ๊ฒƒ
    ex) coworkers.data scientist โŒ โžก coworkers["data scientist"]โญ•


17. ๊ฐ์ฒด์™€ ๋ฐ˜๋ณต๋ฌธ

  • javascript object iterate (๊ฐ์ฒด ๋ฐ˜๋ณต๋ฌธ)
    : for ( var key in yourobject) { document.write(key); }
    : for ( var key in yourobject) { document.write(exo[key]); }
    โžก exo(๊ฐ์ฒด)์— ์žˆ๋Š” key๊ฐ’(leader , main dancer, vocal, main vocal, sub vocal....) ํ•˜๋‚˜ํ•˜๋‚˜๋ฅผ ๋ณ€์ˆ˜ ๊ฐ’์œผ๋กœ ์„ธํŒ… ํ•ด์ค€๋‹ค.


18. ๊ฐ์ฒดํ”„๋กœํผํ‹ฐ์™€ ๋ฉ”์†Œ๋“œ

  • coworkers.showAll = function( ){ }
  • function showAll( ) { }
  • var showAll = function( ) { }
    โžก ๊ฐ™์€ ํ‘œํ˜„(์˜๋ฏธ)
  • ๊ฐ์ฒด์— ์†Œ์†๋œ ํ•จ์ˆ˜ : ๋ฉ”์†Œ๋“œ
  • ๊ฐ์ฒด์— ์†Œ์†๋œ ๋ณ€์ˆ˜ : ํ”„๋กœํผํ‹ฐ
  • ๊ฐน์ฒด์˜ ์ด๋ฆ„ ๋ฐ”๊ผˆ์„ ๋•Œ, ๋ฐ์ดํ„ฐ๋ฅผ ๋ชป๊ฐ€์ ธ ์˜ฌ ์ˆ˜ ์žˆ์Œ
  • ๋”ฐ๋ผ์„œ ํ•จ์ˆ˜ ์•ˆ์—์„œ ํ•จ์ˆ˜๊ฐ€ ์†Œ์†“๋˜์–ด ์žˆ๋Š” ๊ฐ์ฒด๋ฅผ ๊ฐ€๋ฅดํ‚ค๋Š” ์•ฝ์†๋œ ๊ธฐํ˜ธ ์‚ฌ์šฉ (= this)


19. ๊ฐ์ฒด์˜ ํ™œ์šฉ

  • ๊ฐ์ฒด์˜ ํ”„๋กœํผํ‹ฐ์™€ ํ”„๋กœํผํ‹ฐ๋ฅผ ๊ตฌ๋ถ„ ํ•  ๋•Œ ์ฝค๋งˆ(,)๋ฅผ ์ž…๋ ฅํ•œ๋‹ค.


20. ํŒŒ์ผ๋กœ ์ชผ๊ฐœ์„œ ์ •๋ฆฌ ์ •๋ˆํ•˜๊ธฐ

  • cache(์บ์‹œ): ์ €์žฅ


21. ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ํ”„๋ ˆ์ž„์›Œํฌ

  • ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ๋„์›€์„ ๋ฐ›์•„ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋งŒ๋“ ๋‹ค.
  • ๋‹ค๋ฅธ ์‚ฌ๋žŒ๊ณผ ํ˜‘๋ ฅํ•˜๋Š” ๋ชจ๋ธ

21-1. ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ(library)

  • ๋‚ด๊ฐ€ ๋งŒ๋“ค๊ณ ์ž ํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด์˜ ๋ถ€ํ’ˆ๋“ค์„ ์ž˜ ์ •๋ฆฌ์ •๋ˆํ•˜์—ฌ ์žฌ์‚ฌ์šฉ ํ•˜๊ธฐ ์‰ฝ๋„๋ก ํ•ด๋…ผ ๊ฒƒ
  • ๋‚ด๊ฐ€ ๋งŒ๋“ค๊ณ  ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ์˜ ๋ถ€ํ’ˆ์„ ๊ฐ€์ ธ์˜ค๋Š” ๋Š๋‚Œ ex) jQuery

21-2. ํ”„๋ ˆ์ž„์›Œํฌ(framework)

  • ๋งŒ๋“ค๊ณ ์ž ํ•˜๋Š” ๊ฒƒ์ด ๋ฌด์—‡์ด๋ƒ์— ๋”ฐ๋ผ(๊ฒŒ์ž„, ์›น, ์ณ‡ํŒ…) ๊ณตํ†ต์ ์ธ ๋ถ€๋ถ„์„ ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ๋งŒ๋“ค์–ด ๋†“๊ณ , ๋‹ฌ๋ผ์ง€๋Š” ๋ถ€๋ถ„์€ ์ƒ์‚ฐํ•ด ๋‚ด๋Š” ๊ฒƒ

21-3. jQuery

  • ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค.
  • '$'๋กœ ์‹œ์ž‘
  • ์ƒˆ๋กœ์šด ์–ธ์–ด๊ฐ€ ์•„๋‹ˆ๊ณ , javascript๋ฅผ ์ด์šฉ
  • ์–ด๋–ค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์ƒ์„ฑ๋˜์–ด ์žˆ๋Š”์ง€ ํŒŒ์•…ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”


22. UI vs API

22-1. User Interface (UI)

  • ์‚ฌ์šฉ์ž๊ฐ€ ์‹œ์Šคํ…œ์„ ์ œ์–ดํ•˜๊ธฐ ์œ„ํ•ด์„œ ์‚ฌ์šฉํ•˜๋Š” ์กฐ์ž‘์žฅ์น˜

22-2. Application Programming Interface (API)

  • Application์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ Programming์„ ํ• ๋•Œ ์‚ฌ์šฉ ํ•˜๋Š” ์กฐ์ž‘์žฅ์น˜

    ex) alert( )...

  • API์™€ ์ˆœ์„œ๋Š” ๊นŠ์€ ๊ด€๋ จ


23. ๋งˆ๋ฌด๋ฆฌ

  • ํƒœ๊ทธ๋ฅผ ์‚ญ์ œ ๋˜๋Š” ์ž์‹ ํƒœ๊ทธ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ์‹ถ์„ ๋•Œ (์›นํŽ˜์ด์ง€ ์ œ์–ด)
    โžก docuement < DOM
  • window (์›น๋ธŒ๋ผ์šฐ์ € ์ œ์–ด , ํ˜„์žฌ ์—ด๋ ค์žˆ๋Š” ์›นํŽ˜์ด์ง€์˜ ์ฃผ์†Œ, ์ƒˆ์ฐฝ, ํ™”๋ฉดํฌ๊ธฐ..)
  • ajax (์›นํŽ˜์ด์ง€๋ฅผ ๋ฆฌ๋กœ๋“œ ํ•˜์ง€ ์•Š๊ณ  ์ •๋ณด๋ฅผ ๋ณ€๊ฒฝ)
  • cookie ( ์›นํŽ˜์ด์ง€๊ฐ€ ๋ฆฌ๋กœ๋“œ ๋˜์–ด๋„ ํ˜„์žฌ ์ƒํƒœ ์œ ์ง€, ์‚ฌ์šฉ์ž๋ฅผ ์œ„ํ•œ ๊ฐœ์ธํ™”๋œ ์„œ๋น„์Šค ์ œ๊ณต)
  • offline web application (์ธํ„ฐ๋„ท์ด ๋Š๊ฒจ๋„ ๋™์ž‘ํ•˜๋Š” ์›นํŽ˜์ด์ง€)
  • webRTC (ํ™”์ƒํ†ต์‹  ์›น์•ฑ)
  • speech (์‚ฌ์šฉ์ž ์Œ์„ฑ์ธ์‹, ์Œ์„ฑ ์ •๋ณด ์ „๋‹ฌ)
  • webGL (3์ฐจ์› ๊ทธ๋ž˜ํ”ฝ ๊ฒŒ์ž„)
  • webVR (๊ฐ€์ƒํ˜„์‹ค)


์ข‹์€ ์›นํŽ˜์ด์ง€ ์ฆ๊ฒจ์ฐพ๊ธฐ