๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Today I Learned(TIL)/์ŠคํŒŒ๋ฅดํƒ€ ๋‚ด์ผ๋ฐฐ์›€์บ ํ”„

์›น ๊ฐœ๋ฐœ ์ข…ํ•ฉ_2์ฃผ์ฐจ

by carrot0911 2024. 10. 29.

์ŠคํŒŒ๋ฅดํƒ€ํ”Œ๋ฆญ์Šค_ํ”„๋กœ์ ํŠธ

ํ™˜๊ฒฝ ์„ธํŒ…

  • sparta ํด๋” ์•ˆ์— spartaflix ํด๋”๋ฅผ ๋งŒ๋“ ๋‹ค!
  • spartaflix ์•ˆ์— index.html์„ ๋งŒ๋“  ํ›„ ์•„๋ž˜์˜ ํ…œํ”Œ๋ฆฟ์„ ๋„ฃ๋Š”๋‹ค!
<!doctype html>
<html lang="en">

<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    <title>์ŠคํŒŒ๋ฅดํƒ€ํ”Œ๋ฆญ์Šค</title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
    
    <style>
    </style>

</head>

<body>
  
</body>

</html>

ํŽ˜์ด์ง€ ์ƒ๋‹จ ๋งŒ๋“ค๊ธฐ

๋‹ค์Œ๊ณผ ๊ฐ™์€ ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค ์˜ˆ์ •์ด๋‹ค!
๋‚จ์ด ๋งŒ๋“ค์–ด ๋‘” ๊ฒƒ์„ ์“ธ ๋•Œ๋Š” ์ž˜ ์ฐพ์•„๋‹ค๊ฐ€ ์กฐ๊ธˆ์”ฉ๋งŒ ๊ณ ์ณ์„œ ์“ฐ๋Š” ๊ฒƒ์ด ๋‹ต์ด๋‹ค ๐Ÿ˜Ž

  • Bootstrap ์‚ฌ์ดํŠธ์—์„œ Jumbotron ๊ฒ€์ƒ‰ ํ›„ ์ถ”๊ฐ€ํ•˜๊ธฐ
  • ๊ตฌ๊ธ€ ํฐํŠธ ์ ์šฉํ•˜๊ธฐ
  • Bootstrap ์‚ฌ์ดํŠธ์—์„œ Headers ์ฐพ์•„์„œ ์ถ”๊ฐ€ํ•˜๊ธฐ

์œ„์˜ ๊ณผ์ •์„ ๊ฑฐ์น˜๋ฉด ์ŠคํŒŒ๋ฅดํƒ€ํ”Œ๋ฆญ์Šค์˜ ์ƒ๋‹จ ๋ถ€๋ถ„์ด ์™„์„ฑ๋œ๋‹ค!

์นด๋“œ ์ถ”๊ฐ€ํ•˜๊ธฐ

  • Bootstrap ์‚ฌ์ดํŠธ์—์„œ Cards ๊ฒ€์ƒ‰ ํ›„ ์ถ”๊ฐ€ํ•˜๊ธฐ
  • ํฌ์Šคํ„ฐ ์ด๋ฏธ์ง€ ๋„ฃ๊ณ , ๊ฐœ์ˆ˜ ์กฐ์ ˆํ•˜๊ธฐ
  • ์นด๋“œ ๋‚ด์šฉ ๋ณ€๊ฒฝ ํ›„ ๋ณ„์  ์ถ”๊ฐ€ํ•˜๊ธฐ
    • ์˜ํ™” ์ œ๋ชฉ, ์˜ํ™” ์ฝ”๋ฉ˜ํŠธ ๋ณ€๊ฒฝ
    • ์˜ํ™” ์ œ๋ชฉ, ์˜ํ™” ์ฝ”๋ฉ˜ํŠธ ์‚ฌ์ด์— <p> ํƒœ๊ทธ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋ณ„ ์ด๋ชจํ‹ฐ์ฝ˜ ์ถ”๊ฐ€ํ•˜๊ธฐ

์œ„์˜ ๊ณผ์ •์„ ๊ฑฐ์น˜๋ฉด ์ŠคํŒŒ๋ฅดํƒ€ํ”Œ๋ฆญ์Šค์˜ ์นด๋“œ ๋ถ€๋ถ„๊นŒ์ง€ ์™„์„ฑ๋œ๋‹ค!

ํฌ์ŠคํŒ… ๋ฐ•์Šค ๋งŒ๋“ค๊ธฐ

  • ํฐ ๋ฐ•์Šค ๋จผ์ € ๋งŒ๋“ค๊ธฐ
  • ์˜ํ™” ์ด๋ฏธ์ง€, ์˜ํ™” ์ œ๋ชฉ, ์ถ”์ฒœ ์ด์œ  ์ถ”๊ฐ€ํ•˜๊ธฐ
    • Bootstrap - Forms์˜ Floating Labels ์ฐธ๊ณ ! 
  • ๋ณ„์  ์„ ํƒ ์˜์—ญ ์ถ”๊ฐ€ํ•˜๊ธฐ
    • Bootstrap - Input group์˜ Custom forms ์ฐธ๊ณ ! 
  • ๊ธฐ๋กํ•˜๊ธฐ ๋ฒ„ํŠผ ์ถ”๊ฐ€ํ•˜๊ธฐ
    • Bootstrap - Buttons์˜ Variants ์ฐธ๊ณ !

๋ชจ๋“  ๊ณผ์ •์„ ๊ฑฐ์น˜๊ณ  ๋‚˜๋ฉด ์ŠคํŒŒ๋ฅดํƒ€ํ”Œ๋ฆญ์Šค ํŽ˜์ด์ง€๊ฐ€ ์™„์„ฑ๋œ๋‹ค.๐Ÿ˜Ž๐Ÿ˜Ž

 

Javascript

ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ์ค‘ ํ•˜๋‚˜๋กœ, ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์•Œ์•„๋“ค์„ ์ˆ˜ ์žˆ๋Š” ์–ธ์–ด์ด๋‹ค.

โœ”๏ธ์ฐธ๊ณ 
๊ทธ๋ ‡๋‹ค๋ฉด ์™œ Javascript๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š”๊ฐ€??

๋ธŒ๋ผ์šฐ์ €๊ฐ€ Javascript๋ฅผ ์ฃผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋Š” ์—ญ์‚ฌ์ ์œผ๋กœ Javascript๊ฐ€ ์›น๋ธŒ๋ผ์šฐ์ €์—์„œ ์‹คํ–‰๋˜๋Š” ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด๋กœ ์‚ฌ์šฉ๋˜์–ด ์™”๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์›น ํŽ˜์ด์ง€์˜ ๋™์ ์ธ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด Javascript๊ฐ€ ๊ฐœ๋ฐœ๋˜์—ˆ์œผ๋ฉฐ, ๋งŽ์€ ์›น ๊ฐœ๋ฐœ์ž๋“ค์ด Javascript๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์ถ•ํ•˜๊ณ  ์œ ์ง€ ๊ด€๋ฆฌํ•ด ์™”๋‹ค. Javascript๊ฐ€ ๋ธŒ๋ผ์šฐ์ €ํ•œํ…Œ ๋ช…๋ น์„ ๋‚ด๋ฆฌ๋Š” ํ‘œ์ค€์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค!

JavaScript์˜ ๋ฒ”์šฉ์„ฑ

Javascript๋ฅผ ํ†ตํ•ด์„œ ์„œ๋ฒ„๋„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค!
์ฆ‰, Javascript ํ•˜๋‚˜๋กœ ํ”„๋ก ํŠธ์—”๋“œ, ๋ฐฑ์—”๋“œ๊ฐ€ ๋‹ค ๊ฐ€๋Šฅํ•˜๋‹ค.
๋˜ํ•œ IOS์™€ ์•ˆ๋“œ๋กœ์ด๋“œ ์•ฑ์€ ๋ฌผ๋ก  ๊ฒŒ์ž„ ๊ฐœ๋ฐœ ์—”์ง„์ด๋‚˜ IoT(์‚ฌ๋ฌผ์ธํ„ฐ๋„ท) ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค.

Javascript ๊ธฐ์ดˆ๋ฌธ๋ฒ•

๋ณ€์ˆ˜ & ๊ธฐ๋ณธ์—ฐ์‚ฐ

๋ณ€์ˆ˜๋Š” ๊ฐ’์„ ๋‹ด๋Š” ์ƒ์ž์ด๋‹ค!
ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—์„œ๋Š” = ๊ฐ€ ๊ฐ™๋‹ค์˜ ๊ฐœ๋…์ด ์•„๋‹Œ ์˜ค๋ฅธ์ชฝ์˜ ๊ฐ’์„ ์™ผ์ชฝ์— ๋„ฃ์–ด์ค˜์˜ ์˜๋ฏธ์ด๋‹ค.

  • let ์œผ๋กœ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•œ๋‹ค.
let a = 2;
a = 'Bob';  // ๋ฌธ์ž์—ด์€ ์ž‘์€ ๋”ฐ์˜ดํ‘œ๋กœ ๊ฐ์‹ธ์ค€๋‹ค!

// ์ฒ˜์Œ ๋ณ€์ˆ˜๋ฅผ ์ €์žฅํ•˜๋ ค๋ฉด, let์„ ์•ž์— ๋ถ™์—ฌ์ค€๋‹ค!
// ํ•œ ๋ฒˆ ์„ ์–ธํ–ˆ์œผ๋ฉด, ๋‹ค์‹œ ์„ ์–ธํ•˜์ง€ ์•Š๊ณ  ๊ฐ’์„ ๋„ฃ๋Š”๋‹ค.
  • ์‚ฌ์น™์—ฐ์‚ฐ, ๋ฌธ์ž์—ด ๋”ํ•˜๊ธฐ๊ฐ€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๊ฐ€๋Šฅํ•˜๋‹ค.
let a = 2;
let b = 3;

console.log(a+b)  // 5;

let c = '๋Œ€ํ•œ';
let d = '๋ฏผ๊ตญ';

console.log(c+d);  // ๋Œ€ํ•œ๋ฏผ๊ตญ

๋ฆฌ์ŠคํŠธ & ๋”•์…”๋„ˆ๋ฆฌ

  • ๋ฆฌ์ŠคํŠธ : ์ˆœ์„œ๋ฅผ ์ง€์ผœ์„œ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ํ˜•ํƒœ์ด๋‹ค.
โœ”๏ธ์ฐธ๊ณ 
์ปดํ“จํ„ฐ๋Š” 0๋ถ€ํ„ฐ ์„ผ๋‹ค!! ๋ฆฌ์ŠคํŠธ์— ๋“ค์–ด์žˆ๋Š” ์ฒซ ๋ฒˆ์งธ ๊ฐ’์€ [0]์œผ๋กœ ๋ถˆ๋Ÿฌ์˜จ๋‹ค!
let a_list = []  // ๋ฆฌ์ŠคํŠธ๋ฅผ ์„ ์–ธ. ๋ณ€์ˆ˜ ์ด๋ฆ„์€ ์•„๋ฌด๋ ‡๊ฒŒ๋‚˜ ๊ฐ€๋Šฅ!

let a = ['์‚ฌ๊ณผ','์ˆ˜๋ฐ•','๋”ธ๊ธฐ','๊ฐ'];

console.log(a[1]);  // ์ˆ˜๋ฐ•
console.log(a[0]);  // ์‚ฌ๊ณผ

//๋ฆฌ์ŠคํŠธ ๊ธธ์ด ๊ตฌํ•˜๊ธฐ
console.log(a.length);
  • ๋”•์…”๋„ˆ๋ฆฌ : ํ‚ค(Key) - ๋ฐธ๋ฅ˜(Value) ๊ฐ’์˜ ๋ฌถ์Œ์ด๋‹ค.
let a_dict = {};  // ๋”•์…”๋„ˆ๋ฆฌ ์„ ์–ธ. ๋ณ€์ˆ˜ ์ด๋ฆ„์€ ์•„๋ฌด๋ ‡๊ฒŒ๋‚˜ ๊ฐ€๋Šฅ!

let a = {'name':'์˜์ˆ˜','age':27};

console.log(a);
console.log(a['name']);  // ์˜์ˆ˜
console.log(b_dict['age']);  // 27
โœ”๏ธ์ฐธ๊ณ 
๋ฆฌ์ŠคํŠธ๋Š” [ ]๊ฐ€ ์ƒ๊ฒผ์œผ๋‹ˆ๊นŒ [ ]๋กœ ๊ฐ€์ ธ์˜ค๋Š”๋ฐ, ๋”•์…”๋„ˆ๋ฆฌ๋Š” { }๋กœ ๋งŒ๋“ค์—ˆ๋Š”๋ฐ ์™œ { }๋กœ ์•ˆ ๊ฐ€์ ธ์˜ค๋Š”๊ฐ€...


์ด๋Ÿฐ ๊ทœ์น™๋“ค์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ๋งŒ๋“  ์‚ฌ๋žŒ์ด ๊ทธ๋•Œ๊ทธ๋•Œ ๋ชฉ์ ์— ๋งž๊ฒŒ ์ž‘์„ฑํ•œ ๊ฒƒ์ด๋‹ค!
์žˆ๋Š” ๊ทธ๋Œ€๋กœ! ๋ฐ›์•„๋“ค์ด๊ธฐ!! ๐Ÿ˜Ž
๋”ฐ๋ผ์„œ ๊ทœ์น™์„ ์„ค์ •ํ•˜๋Š” ๊ฒƒ๋„ ์ „๋ถ€ ์ œ๊ฐ๊ฐ์ด๋‹ค!!
  • ๋ฆฌ์ŠคํŠธ์™€ ๋”•์…”๋„ˆ๋ฆฌ์˜ ์กฐํ•ฉ
let a = [
	{'name':'์˜์ˆ˜','age':27},
	{'name':'์ฒ ์ˆ˜','age':15},
	{'name':'์˜ํฌ','age':20}
];
console.log(a[0]['name']);  //์˜์ˆ˜
console.log(a[1]['age']);  //15
โœ”๏ธ์ฐธ๊ณ 

[ ] ์™€ Key-Value ๋‘ ๊ฐ€์ง€๋กœ ์ด๋ฃจ์–ด์ง„ ํ˜•ํƒœ์˜ ์ž๋ฃŒ๋ฅผ ๋งŽ์ด ์‚ฌ์šฉํ•œ๋‹ค!!
์ด๊ฒŒ ๊ธฐ์ดˆ๊ฐ€ ๋˜๋Š” ๋ฌธ๋ฒ•์ด๋‹ค.

ํ•„์š”ํ•œ ์ด์œ !!

์ˆœ์„œ๋ฅผ ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ๊ณ , ์ •๋ณด๋ฅผ ๋ฌถ์„ ์ˆ˜ ์žˆ๋‹ค.

์•ž์—์„œ ์–ธ๊ธ‰ํ•œ <์ŠคํŒŒ๋ฅดํƒ€๊ณผ์ผ๊ฐ€๊ฒŒ>๊ฐ€ ์ •๋ง ์ž˜ ๋˜์–ด์„œ ์ „๊ตญ์—์„œ ์†๋‹˜์ด ์ฐพ์•„์˜ค๊ณ  ์žˆ๋‹ค. ๋Œ€๊ธฐํ‘œ๋ฅผ ์ž‘์„ฑํ•˜๊ธฐ ์œ„ํ•ด์„œ ์˜จ ์ˆœ์„œ๋Œ€๋กœ ์ด๋ฆ„, ํœด๋Œ€ํฐ ๋ฒˆํ˜ธ๋ฅผ ์ ๋„๋ก ํ•˜์˜€๋Š”๋ฐ, ๋ณ€์ˆ˜๋งŒ์„ ์‚ฌ์šฉํ•œ ๋ชจ์Šต์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

let customer_1_name = '๊น€์ŠคํŒŒ';
let customer_1_phone = '010-1234-1234';
let customer_2_name = '๋ฐ•๋ฅดํƒ„';
let customer_2_phone = '010-4321-4321';
...(์•Œ์•„๋ณด๊ธฐ ํž˜๋“ค๋‹ค.)

  • ๋”•์…”๋„ˆ๋ฆฌ๋ฅผ ํ™œ์šฉํ•œ๋‹ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ณ ๊ฐ ๋ณ„๋กœ ์ •๋ณด๋ฅผ ๋ฌถ์„ ์ˆ˜ ์žˆ๋‹ค.
    let customer_1 = {'name' : '๊น€์ŠคํŒŒ', 'phone' : '010-1234-1234'};
    let customer_2 = {'name' : '๋ฐ•๋ฅดํƒ„', 'phone' : '010-4321-4321'};
  • ๊ทธ๋ฆฌ๊ณ  ์ˆœ์„œ๋ฅผ ๋‚˜ํƒ€๋‚ด๊ธฐ ์œ„ํ•ด ๋ฆฌ์ŠคํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋” ๊น”๋”ํ•ด์ง„๋‹ค.
    let customer = [
        {'name' : '๊น€์ŠคํŒŒ', 'phone' : '010-1234-1234'},
        {'name' : '๋ฐ•๋ฅดํƒ„', 'phone' : '010-4321-4321'}

    ]

๋ณด๊ธฐ์—๋„ ๊น”๋”ํ•ด์ง€๊ณ , ๋‹ค๋ฃจ๊ธฐ๋„ ์‰ฌ์›Œ์ง€๊ณ , ๊ณ ๊ฐ์ด ์ƒˆ๋กœ ํ•œ ๋ช… ์˜ค๋”๋ผ๋„ .push ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด์„œ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋Œ€์‘ํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ์‚ฌ์น™์—ฐ์‚ฐ ์™ธ์—๋„, ๊ธฐ๋ณธ์ ์œผ๋กœ ์ œ๊ณตํ•˜๋Š” ์—ฌ๋Ÿฌ ํ•จ์ˆ˜๋“ค์ด ์กด์žฌํ•œ๋‹ค.
//ํŠน์ • ๋ฌธ์ž๋กœ ๋ฌธ์ž์—ด์„ ๋‚˜๋ˆ„๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ

let myemail = 'sparta@gmail.com';

let result = myemail.split('@');  // ['sparta','gmail.com']

result[0];  // sparta
result[1];  // gmail.com

let result2 = result[1].split('.');  // ['gmail','com']

result2[0];  // gmail -> ์šฐ๋ฆฌ๊ฐ€ ์•Œ๊ณ  ์‹ถ์—ˆ๋˜ ๊ฒƒ!
result2[1];  // com

myemail.split('@')[1].split('.')[0];  // gmail -> ๊ฐ„๋‹จํ•˜๊ฒŒ ์“ธ ์ˆ˜๋„ ์žˆ๋‹ค!

๋ฐ˜๋ณต๋ฌธ

๋ฆฌ์ŠคํŠธ ์ž๋ฃŒํ˜•์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํ•˜๋‚˜ํ•˜๋‚˜ ๋ฝ‘์•„์„œ ์“ฐ๊ธฐ์—” ๋ฌด๋ฆฌ๊ฐ€ ์žˆ๋‹ค.

let fruits = ['์‚ฌ๊ณผ','๋ฐฐ','๊ฐ', ... ,'๊ทค'];
console.log('์‚ฌ๊ณผ');
console.log('๋ฐฐ');
console.log('๊ฐ');
...
console.log('๊ทค');

// ์ด๋ ‡๊ฒŒ 100๊ฐœ ์”ฉ ์“ฐ๊ธฐ์—” ๋ฌด๋ฆฌ๊ฐ€ ์žˆ๋‹ค.. ๊ทธ๋ž˜์„œ, ๋ฐ˜๋ณต๋ฌธ์ด๋ผ๋Š” ๊ฒƒ์ด ์กด์žฌํ•œ๋‹ค!

๊ทธ์ค‘์—์„œ forEach ๋ผ๋Š” ํ•จ์ˆ˜๋กœ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋ฝ‘์„ ์ˆ˜ ์žˆ๋‹ค!!!

fruits.forEach((a) => {
	console.log(a);
}) 
// fruits ์˜ ์š”์†Œ๋ฅผ ํ•˜๋‚˜์”ฉ ํ™•์ธํ•˜๋Š”๋ฐ ์ด๋ฆ„์€ a๋ผ๊ณ  ํ•œ๋‹ค.
// a๋Š” b,c,zzz,fruit ์–ด๋–ค ๊ฑธ๋กœ ํ•ด๋„ ์ƒ๊ด€ ์—†๋‹ค!

์กฐ๊ฑด๋ฌธ

๋ฐ˜๋ณต๋ฌธ๊ณผ ๋”๋ถˆ์–ด ์กฐ๊ฑด์— ๋งž์ถฐ ์‹คํ–‰์„ ๋‹ค๋ฅด๊ฒŒ ํ•ด์ฃผ๋Š” ์กฐ๊ฑด๋ฌธ๋„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ๋Š” ๋นผ๋†“์„ ์ˆ˜ ์—†๋‹ค.

if (์กฐ๊ฑด) {
	// ์กฐ๊ฑด์— ๋งž๋‹ค๋ฉด~
} else {
	// ~๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด~
}

๋ฐ˜๋ณต๋ฌธ + ์กฐ๊ฑด๋ฌธ ํ•ฉ์น˜๊ธฐ!

let ages = [12,15,20,25,17,37,24]

ages.forEach((a)=> {
	if (a > 20) {
		console.log('์„ฑ์ธ์ž…๋‹ˆ๋‹ค')
	} else {
		console.log('์ฒญ์†Œ๋…„์ž…๋‹ˆ๋‹ค')
	}
})

Javascript ํ™œ์šฉ ๋ฌธ๋ฒ•

Javascript๋กœ Alert ๋„์šฐ๊ธฐ

  • ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด๋‘๊ธฐ
function hey(){
	alert('์•ˆ๋…•!');
}
  • ๋ฒ„ํŠผ์— ํ•จ์ˆ˜ ์—ฐ๊ฒฐํ•˜๊ธฐ
<button class="form-button" type="button" onclick="hey()">์˜ํ™” ๊ธฐ๋กํ•˜๊ธฐ</button>
โœ”๏ธ์ฐธ๊ณ 

1. ๋ฒ„ํŠผ์„ ํด๋ฆญ

2. hey๋ฅผ ๋ถˆ๋Ÿฌ๋ผ!
3. alert('์•ˆ๋…•!')์„ ์‹คํ–‰ํ•ด๋ผ!

ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ๋Š” ์ •ํ•ด์ง„ ์ผ์„ ๋ฐ˜๋ณตํ•˜๋Š” ์นœ๊ตฌ๋“ค์„ ํ•จ์ˆ˜๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค!

function hey()๋ผ๋Š” ๊ทœ์น™์œผ๋กœ hey๋ผ๋Š” ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์—ˆ๊ณ , alert('์•ˆ๋…•!')์ด๋ผ๋Š” ์ž‘์—…์„ ์›ํ•  ๋•Œ๋งˆ๋‹ค ๋ฐ˜๋ณต์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•˜๊ฒŒ ๋งŒ๋“ค์—ˆ๋‹ค!

 

JQuery

HTML์˜ ์š”์†Œ๋“ค์„ ์กฐ์ž‘ํ•˜๋Š” Javacsript๋ฅผ ๋ฏธ๋ฆฌ ๋” ์‰ฝ๊ฒŒ ์ž‘์„ฑํ•ด ๋‘” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค.
์ˆœ์ˆ˜ Javascript๋งŒ ์‚ฌ์šฉํ•˜๋ฉด ๊ธธ๊ณ  ๋ณต์žกํ•˜๊ธฐ ๋•Œ๋ฌธ์— JQuery๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค!

Javascript๋กœ ๋ชจ๋“  ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ
1) ์ฝ”๋“œ๊ฐ€ ๋ณต์žกํ•˜๊ณ , 2) ๋ธŒ๋ผ์šฐ์ € ๊ฐ„ ํ˜ธํ™˜์„ฑ ๋ฌธ์ œ๋„ ๊ณ ๋ คํ•ด์•ผ ํ•ด์„œ JQuery๋ผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ๋“ฑ์žฅํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.

JQuery์™€ Javascript ๋น„๊ตํ•˜๊ธฐ

JQuery๋Š” Javascript์™€ ๋‹ค๋ฅธ ํŠน๋ณ„ํ•œ ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ์•„๋‹ˆ๋ผ ๋ฏธ๋ฆฌ ์ž‘์„ฑ๋œ Javascript ์ฝ”๋“œ์ด๋‹ค. ์ „๋ฌธ ๊ฐœ๋ฐœ์ž๋“ค์ด ์งœ๋‘” ์ฝ”๋“œ๋ฅผ ์ž˜ ๊ฐ€์ ธ์™€์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค!

  • ๋ฏธ๋ฆฌ ์ž‘์„ฑ๋œ Javascript ์ฝ”๋“œ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ์„ import ๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.
  • <head>...</head> ์‚ฌ์ด์— ๋„ฃ์–ด์ฃผ๋ฉด ๋!
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>

css์˜ class์ฒ˜๋Ÿผ Javascript์—์„œ HTML์„ ์›€์ง์ด๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” id ๊ฐ’์ด ํ•„์š”ํ•˜๋‹ค!

 

์˜ค๋Š˜ ๋ฌธ์ œ ํ•ด๊ฒฐํ–ˆ๋˜ ๋ถ€๋ถ„

  • ์ž๋ฐ” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ์—์„œ ํ˜•๋ณ€ํ™˜ ํ•ด์„œ ์‹ค์ˆ˜๋กœ ๊ณ„์‚ฐํ•ด์•ผ ํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋Š”๋ฐ ํ˜•๋ณ€ํ™˜์— ๋Œ€ํ•œ ๊ฐœ๋…์ด ์žกํ˜€์žˆ์ง€ ์•Š์•„์„œ ๊ตฌ๊ธ€๋ง์„ ํ†ตํ•ด ํ•™์Šต ํ›„ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.
  • VS Code์—์„œ Alt + B ๋‹จ์ถ•ํ‚ค๊ฐ€ ์ ์šฉ๋˜์ง€ ์•Š์•„์„œ ํ™•์ธํ–ˆ๋”๋‹ˆ open in browser ์„ค์น˜๊ฐ€ ์•ˆ๋˜์–ด ์žˆ์–ด์„œ ๋‹ค์‹œ ์„ค์น˜ํ•ด์ฃผ์—ˆ๋‹ค...