JavaScript(2)

zooyeongยท2023๋…„ 3์›” 14์ผ

7์ฃผ์ฐจ

๋ชฉ๋ก ๋ณด๊ธฐ
3/7
post-thumbnail

๐Ÿ’ก๊ฐ์ฒด์™€ ๋ฐฐ์—ด

๊ฐ์ฒด๋Š” ์ค‘๊ด„ํ˜ธ({})๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ ํ‚ค(key)์™€ ๊ฐ’(value)์˜ ํ•œ์Œ์œผ๋กœ ์ด๋ฃจ์–ด์ง„๋‹ค. ๋ฐฐ์—ด(array)๋Š” ๋ณต์ˆ˜์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ •์˜ํ•  ์ˆ˜ ์žˆ๋Š” ์ž๋ฃŒํ˜•์ด๋‹ค.

//๋ฐฐ์—ด
let scores = [10, 20, 30, 40, 50];
let names = ['์ •์ฒญ' , '์ด์ž์„ฑ', '์ด์ค‘๊ตฌ'];

console.log(scores);
console.log(scores[2]); //index๋กœ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค.
console.log(names);

๐Ÿ”ฝ์‹คํ–‰ ๊ฒฐ๊ณผ


//๊ฐ์ฒด
let stu1 = {
  stuid:14155,
  name:'๋‚˜์ด๋ฆ„',
  age:15
};

console.log(stu1);
console.log(stu1.name);
console.log(stu1['name']); //ํ‚ค๊ฐ’์œผ๋กœ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค.

๐Ÿ”ฝ์‹คํ–‰ ๊ฒฐ๊ณผ


๐Ÿ’ก์—ฐ์‚ฐ์ž

  • ์ดํ•ญ ์‚ฐ์ˆ  ์—ฐ์‚ฐ์ž : ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๋Š”๋ฐ ํ”ผ์—ฐ์‚ฐ์ž๊ฐ€ 2๊ฐœ ํ•„์š”ํ•œ ์—ฐ์‚ฐ์ž
    +, -, *, /, %, **
  • ๋‹จํ•ญ ์‚ฐ์ˆ  ์—ฐ์‚ฐ์ž : ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๋Š”๋ฐ ํ”ผ์—ฐ์‚ฐ์ž๊ฐ€ 1๊ฐœ๋งŒ ํ•„์š”ํ•œ ์—ฐ์‚ฐ์ž
    ++, --, +, -
  • ๋Œ€์ž… ์—ฐ์‚ฐ์ž : ๋ฐ์ดํ„ฐ๋ฅผ ๋Œ€์ž…ํ•˜๋Š” ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์—ฐ์‚ฐ์ž
    =
  • ๋ณตํ•ฉ ๋Œ€์ž… ์—ฐ์‚ฐ์ž : ์‚ฐ์ˆ  ์—ฐ์‚ฐ์ž์™€ ๋Œ€์ž… ์—ฐ์‚ฐ์ž๋ฅผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•ด ์‚ฐ์ˆ ๊ณผ ํ• ๋‹น์„ ํ•œ ๋ฒˆ์— ์ˆ˜ํ–‰ํ•˜๋Š” ์—ฐ์‚ฐ์ž
    +=, -=, *=, /=, %=, **=
//๋ณตํ•ฉ ๋Œ€์ž… ์—ฐ์‚ฐ์ž์˜ ์˜ˆ
x += y; //x = x + y;
x **= y; //x = x ** y; x์˜ y๊ฑฐ๋“ญ์ œ๊ณฑ
  • ๋น„๊ต ์—ฐ์‚ฐ์ž : ํ”ผ์—ฐ์‚ฐ์ž๋ฅผ ๋น„๊ตํ•œ ๋’ค, ๋…ผ๋ฆฌํ˜• ๊ฐ’์ธ ์ฐธ(true) ํ˜น์€ ๊ฑฐ์ง“false)๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ์—ฐ์‚ฐ์ž
    ==, ===, !=, !==, <, <=, >, >=
    ๐Ÿ’ฌ == ์€ ๋‘ ๊ฐ’์ด ๊ฐ’์œผ๋ฉด true๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ  ===์€ ๋‘ ๊ฐ’๊ณผ ์ž๋ฃŒํ˜•์ด ๊ฐ™์œผ๋ฉด true๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
//==๊ณผ ===์˜ ๋น„๊ต
let num100 = 100;
let str100 = '100';
console.log(num100 == str100); //true๋ฅผ ๋ฐ˜ํ™˜
console.log(num100 === str100); //false๋ฅผ ๋ฐ˜ํ™˜
  • ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž : ์—ฐ์‚ฐ์ž๋ฅผ ๋…ผ๋ฆฌ์ ์œผ๋กœ ํ‰๊ฐ€ํ•œ ๋’ค, ์กฐ๊ฑด์— ๋งž๋Š” ํ”ผ์—ฐ์‚ฐ์ž๋ฅผ ๋ฐ˜ํ™˜
    &&, ||, !
  • ์‚ผํ•ญ ์—ฐ์‚ฐ์ž : ์„ธ ํ•ญ ์ค‘ ๊ฐ€์žฅ ์™ผ์ชฝ์— ์žˆ๋Š” ํ”ผ์—ฐ์‚ฐ์ž์˜ ์ฐธ, ๊ฑฐ์ง“์— ๋”ฐ๋ผ ๋‚˜๋จธ์ง€ ๋‘ ํ•ญ์— ์žˆ๋Š” ํ”ผ์—ฐ์‚ฐ์ž๋ฅผ ์„ ํƒ์ ์œผ๋กœ ๋ฐ˜ํ™˜
    x ? y : z

๐Ÿ’ก์กฐ๊ฑด๋ฌธ

  • if else else if๋ฌธ : if ๋’ค์— ์˜ค๋Š” ์†Œ๊ด„ํ˜ธ(()) ์•ˆ์˜ ์กฐ๊ฑด์‹์ด ์ฐธ์ด๋ฉด ์ค‘๊ด„ํ˜ธ({}) ์•ˆ์˜ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ์กฐ๊ฑด๋ฌธ์œผ๋กœ if๋ฌธ์˜ ์กฐ๊ฑด์‹์ด ๊ฑฐ์ง“์ผ ๋•Œ๋Š” else๋ฌธ์ด ์‹คํ–‰
    else if๋Š” if๋ฌธ์— ์กฐ๊ฑด์„ ์ถ”๊ฐ€ํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋ธ”๋ก๋ฌธ

  • switch๋ฌธ : switch ๋’ค์— ์˜ค๋Š” ์†Œ๊ด„ํ˜ธ ์•ˆ์˜ ๊ฐ’๊ณผ ์ผ์น˜ํ•˜๋Š” case๋ฌธ์ด ์žˆ์„ ๋•Œ ํ•ด๋‹น ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ์กฐ๊ฑด๋ฌธ

๐Ÿ’ก๋ฐ˜๋ณต๋ฌธ

  • while๋ฌธ : ํŠน์ • ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ๋™์•ˆ ๋ธ”๋ก๋ฌธ์„ ์‹คํ–‰
  • do...while๋ฌธ :ํŠน์ • ์กฐ๊ฑด์ด ์ฐธ์œผ๋กœ ํ‰๊ฐ€๋˜๋Š” ๋™์•ˆ do ๋‹ค์Œ์— ์˜ค๋Š” ๋ธ”๋ก๋ฌธ์„ ๋ฐ˜๋ณต ์‹คํ–‰
  • for๋ฌธ : ์ง€์ •ํ•œ ํšŸ์ˆ˜๊ฐ€ ๋๋‚  ๋•Œ๊นŒ์ง€ ๋ธ”๋ก๋ฌธ์„ ๋ฐ˜๋ณต ์‹คํ–‰ํ•˜๋Š” ๋ฐ˜๋ณต๋ฌธ
  • for in๋ฌธ
    for(๊ฐ€๋ณ€์ˆ˜ in ๋ฐฐ์—ด/๊ฐ์ฒด ๋ฆฌํ„ฐ๋Ÿด){ //๋ธ”๋ก๋ฌธ }
//for...in [๋ฐฐ์—ด]
let arr = ['๊ฐ€', '๋‚˜', '๋‹ค'];

for(let idx in arr){
  console.log(idx + " " + arr[idx]);
}

๐Ÿ”ฝ์‹คํ–‰ ๊ฒฐ๊ณผ


//for...in {๊ฐ์ฒด}
let person = {
  name : "๋‚ด์ด๋ฆ„",
  age:30,
  phone:"010010"
};

for(let key in person){
  console.log(key + " " + person[key]);
}

๐Ÿ”ฝ์‹คํ–‰ ๊ฒฐ๊ณผ


๐Ÿ’ฌ ์ถ”๊ฐ€๋กœ ์‚ดํŽด๋ณด๋Š” for of๋ฌธ

//java์˜ 'ํ–ฅ์ƒ๋œ for๋ฌธ'๊ณผ ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ํ•œ๋‹ค.
let arr = ['๊ฐ€', '๋‚˜', '๋‹ค'];

for(let val of arr){
  console.log(val);
}

๐Ÿ”ฝ์‹คํ–‰ ๊ฒฐ๊ณผ


๐Ÿ’กํ•จ์ˆ˜(function)

ํ•จ์ˆ˜๋Š” ์–ด๋–ค ๋ชฉ์ ์„ ๊ฐ€์ง€๊ณ  ์ž‘์„ฑํ•œ ์ฝ”๋“œ๋ฅผ ๋ชจ์•„ ๋‘” ๋ธ”๋ก๋ฌธ์ด๋‹ค. ํ•จ์ˆ˜๋ฅผ ์ •์˜ํ•œ๋‹ค๋Š” ๊ฒƒ์€ ๋ธ”๋ก๋ฌธ์„ function ํ‚ค์›Œ๋“œ, ์‹๋ณ„์ž, ์†Œ๊ด„ํ˜ธ์™€ ํ•จ๊ป˜ ๋ฌถ์–ด ํ•จ์ˆ˜๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ํ•จ์ˆ˜๋ฅผ ์ •์˜ํ•˜๊ณ  ๋‚˜๋ฉด ์ฝ”๋“œ๋ฅผ ์ƒˆ๋กœ ์ž‘์„ฑํ•  ํ•„์š” ์—†์ด ์ •์˜ํ•œ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด ๋œ๋‹ค.
๐Ÿ’ฌํ•จ์ˆ˜์™€ ๋ฉ”์†Œ๋“œ
ํ•จ์ˆ˜๋Š” ์–ด๋–ค ํŠน์ •ํ•œ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ๋ธ”๋ก์ด๋ผ๋ฉด ๋ฉ”์†Œ๋“œ๋Š” ๊ฐ์ฒด ๋‹จ์œ„๋กœ ๊ฐœ๋ฐœํ•˜๋Š” ํŠน์ • ํด๋ž˜์Šค ๋‚ด๋ถ€์˜ ํŠน์ • ์ฝ”๋“œ๋“ค์˜ ๋ชจ์ž„์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ๋‘ ๊ฐœ๋…์„ ๋น„์Šทํ•œ ๊ฐœ๋…์œผ๋กœ ์ดํ•ดํ•˜๊ณ  ๋„˜์–ด๊ฐ€๋„ ์ข‹๋‹ค.

๐Ÿ“– ํ•จ์ˆ˜๋ฅผ ์ •์˜ํ•˜๋Š” ๋ฐฉ๋ฒ•

  1. ํ•จ์ˆ˜ ์„ ์–ธ๋ฌธ์œผ๋กœ ํ•จ์ˆ˜ ์ •์˜
    function ์‹๋ณ„์ž () {}

  2. ํ•จ์ˆ˜ ํ‘œํ˜„์‹์œผ๋กœ ํ•จ์ˆ˜ ์ •์˜
    const ๋ณ€์ˆ˜๋ช… = funtion() {}; -> ์ต๋ช… ํ•จ์ˆ˜
    const ๋ณ€์ˆ˜๋ช… = funtion ์‹๋ณ„์ž() {}; -> ๋„ค์ด๋ฐ ํ•จ์ˆ˜

  3. ํ™”์‚ดํ‘œ ํ•จ์ˆ˜๋กœ ํ•จ์ˆ˜ ์ •์˜
    () => {};

์•„๋ž˜์—์„œ ์ฝ”๋“œ๋ฅผ ์ด์šฉํ•ด ์ž์„ธํžˆ ์‚ดํŽด๋ณด๊ฒ ๋‹ค.

//1. ํ•จ์ˆ˜ ์„ ์–ธ๋ฌธ์œผ๋กœ ํ•จ์ˆ˜ ์ •์˜
function gugudan(){
  for(let i=1; i<=9; i++){
    console.log(`3 * ${i} = ${3*i}`);
  }
}
gugudan();

๐Ÿ”ฝ์‹คํ–‰ ๊ฒฐ๊ณผ

//2. ํ•จ์ˆ˜ ํ‘œํ˜„์‹์œผ๋กœ ํ•จ์ˆ˜ ์ •์˜-๋„ค์ด๋ฐ ํ•จ์ˆ˜
const funcGugudan4 = function gugudan4(){
  for(let i=1; i<=9; i++){
    console.log(`4 * ${i} = ${4*i}`);
  }
}
funcGugudan4();

๐Ÿ”ฝ์‹คํ–‰ ๊ฒฐ๊ณผ

//2. ํ•จ์ˆ˜ ํ‘œํ˜„์‹์œผ๋กœ ํ•จ์ˆ˜ ์ •์˜-์ต๋ช… ํ•จ์ˆ˜
const funcGugudan5 = function(){
  for(let i=1; i<=9; i++){
    console.log(`5 * ${i} = ${5*i}`);
  }
}
funcGugudan5();

๐Ÿ”ฝ์‹คํ–‰ ๊ฒฐ๊ณผ

//3. ํ™”์‚ดํ‘œ ํ•จ์ˆ˜๋กœ ํ•จ์ˆ˜ ์ •์˜
const funcGugudan6 = ()=> {
  for(let i=1; i<=9; i++){
    console.log(`6 * ${i} = ${6*i}`);
  }
}
funcGugudan6();

๐Ÿ”ฝ์‹คํ–‰ ๊ฒฐ๊ณผ


๐Ÿ“–๋งค๊ฐœ๋ณ€์ˆ˜์™€ ์ธ์ˆ˜

๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ๋  ๋•Œ ์ „๋‹ฌ๋ฐ›์€ ๋ฐ์ดํ„ฐ๋ฅผ ํ• ๋‹นํ•˜๊ธฐ ์œ„ํ•ด ํ•จ์ˆ˜์—์„œ ์„ ์–ธํ•˜๋Š” ๋ณ€์ˆ˜์ด๋‹ค.
์ธ์ˆ˜๋Š” ์ •์˜ํ•œ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ ์ „๋‹ฌํ•˜๋Š” ๋ฐ์ดํ„ฐ์ด๋‹ค.

์ฆ‰, ํ•จ์ˆ˜ ์„ ์–ธ๋ฌธ์„ ์‚ดํŽด๋ณด๋ฉด

function ํ•จ์ˆ˜๋ช…(๋งค๊ฐœ๋ณ€์ˆ˜1, ๋งค๊ฐœ๋ณ€์ˆ˜2, ... ๋งค๊ฐœ๋ณ€์ˆ˜n) {}

์ด๋ ‡๊ฒŒ ํ•จ์ˆ˜๋ฅผ ์ •์˜ํ•  ๋•Œ ์ „๋‹ฌ๋ฐ›๋Š” ์šฉ๋„๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋งค๊ฐœ๋ณ€์ˆ˜์ด๋‹ค.

ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ

ํ•จ์ˆ˜๋ช…(์ธ์ˆ˜1, ์ธ์ˆ˜2, ... ์ธ์ˆ˜n);

์ด๋ ‡๊ฒŒ ํ•จ์ˆ˜์— ๋„˜๊ฒจ์ฃผ๋Š” ๊ฐ’(๋ณ€์ˆ˜)์ด ์ธ์ž์ด๋‹ค.

๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๋ฉฐ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•ด๋„ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ •์˜ํ•˜์ง€ ์•Š์œผ๋ฉด ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌ๋ฐ›์ง€ ๋ชปํ•œ๋‹ค. ํ•˜์ง€๋งŒ ์˜ค๋ฅ˜๋Š” ๋ฐœ์ƒํ•˜์ง€๋Š” ์•Š๋Š”๋‹ค. ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ๊ธฐ๋ณธ๊ฐ’์€ undefined์ด๋‹ค.


๐Ÿ“–return

ํ•จ์ˆ˜ ๋‚ด๋ถ€์—์„œ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•œ ๊ณณ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•  ๋•Œ๋Š” return๋ฌธ์„ ์‚ฌ์šฉํ•œ๋‹ค.

function sum(num1, num2){
  let result = num1 + num2;
  return result;
}
let result = sum(50, 40);
console.log(result); //90์ด ์ถœ๋ ฅ๋œ๋‹ค.

๐Ÿ’ฌreturn์€ ํ•จ์ˆ˜๊ฐ€ ์ข…๋ฃŒ๋˜๋Š” ์—ญํ• ๋กœ๋„ ์“ธ ์ˆ˜ ์žˆ๋‹ค.

function sample(){
  console.log(1);
  console.log(2);
  return;
  console.log(3);
}
sample();

๐Ÿ”ฝ์‹คํ–‰ ๊ฒฐ๊ณผ

=> return ์•„๋ž˜์˜ ์ฝ”๋“œ๋Š” ์‹คํ–‰๋˜์ง€ ์•Š์€ ๊ฒฐ๊ณผ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

๐Ÿ’ฌํ™”์‚ดํ‘œ ํ•จ์ˆ˜์—์„œ ์ค‘๊ด„ํ˜ธ({})๋ฅผ ์ƒ๋žตํ•˜๋ฉด ํ™”์‚ดํ‘œ ๋‹ค์Œ์— ์˜ค๋Š” ์ฝ”๋“œ๋Š” return๋ฌธ์œผ๋กœ ์ฒ˜๋ฆฌ๋œ๋‹ค. ์•„๋ž˜์™€ ๊ฐ™์ด ์“ธ ์ˆ˜ ์žˆ๋‹ค.

const sum = (num1, num2)=> num1 + num2;
profile
Have a good day โŒฏโ€™โ–พโ€™โŒฏ

0๊ฐœ์˜ ๋Œ“๊ธ€