🎨 Frontend/JavaScript

🍦Vanilla JS β‘‘ 기초 문법 (2) μ—°μ‚°μž, ν˜•λ³€ν™˜

kongmi 2023. 3. 22. 18:12

μ‚°μˆ  μ—°μ‚°μž

  • μˆ˜ν•™ 연산을 μˆ˜ν–‰ν•˜λŠ” μ—°μ‚°

let a = 2;
let b = 3;
console.log(a + b);
console.log(a - b);
console.log(a * b);
console.log(a / b); // λͺ«μ„ κ΅¬ν•˜λ €λ©΄ parseInt ν•΄μ€˜μ•Ό 함.
console.log(a % b);
console.log(a ** b); // κ±°λ“­ 제곱, 2^3
console.log(--a); // μ „μœ„ 단항 μ—°μ‚°μž, 1
console.log(b++); // ν›„μœ„ 단항 μ—°μ‚°μž, 3

λŒ€μž… μ—°μ‚°μž

  • λŒ€μž…μ—°μ‚°μžμ™€ 볡합 λŒ€μž… μ—°μ‚°μžκ°€ 있음

let x = 10;
let y = 20;

// x = x + 10; : x에 10을 λ”ν•΄μ„œ x에 λ‹€μ‹œ λŒ€μž…
x += 10; // 볡합 λŒ€μž… μ—°μ‚°μž
console.log(x);

y *= 10;
console.log(y);

비ꡐ μ—°μ‚°μž

  • ν”Όμ—°μ‚°μžλ₯Ό λΉ„κ΅ν•œ λ’€ μ°Έ or κ±°μ§“μœΌλ‘œ λ°˜ν™˜ν•˜λŠ” μ—°μ‚°μž (쑰건문과 κ²°ν•©λ˜μ–΄ μ‚¬μš©)
  • ⭐ 동등 μ—°μ‚°μž, 일치 μ—°μ‚°μž

✨ 동등 μ—°μ‚°μž (==,!=)

  • μžλ°”μŠ€ν¬λ¦½νŠΈμ—μ„œ 동등 μ—°μ‚°μžλ‘œ 두 값을 λΉ„κ΅ν•˜λŠ” 경우, 데이터 ν˜•μ΄ λ‹€λ₯΄λ©΄ μžλ™μœΌλ‘œ ν˜•λ³€ν™˜μ΄ μΌμ–΄λ‚©λ‹ˆλ‹€.
console.log(1 == '1'); // 좜λ ₯ κ²°κ³Ό: true
console.log(1 == true); // 좜λ ₯ κ²°κ³Ό: true
console.log(0 == false); // 좜λ ₯ κ²°κ³Ό: true

console.log(1 != '1'); // 좜λ ₯ κ²°κ³Ό: false
console.log(1 != true); // 좜λ ₯ κ²°κ³Ό: false
console.log(0 != false); // 좜λ ₯ κ²°κ³Ό: false

πŸ‘‰ λ¬Έμžμ—΄λ‘œ ν˜•λ³€ν™˜μ΄ μΌμ–΄λ‚œ ν›„ 비ꡐ가 μ§„ν–‰ λ©λ‹ˆλ‹€.

✨ 일치 μ—°μ‚°μž (===,!==)

  • κ°’κ³Ό ν˜•μ΄ λͺ¨λ‘ 같은지 λΉ„κ΅ν•˜λŠ” μ—°μ‚°μž
console.log(1 === '1'); // 좜λ ₯ κ²°κ³Ό: false
console.log(1 === true); // 좜λ ₯ κ²°κ³Ό: false
console.log(0 === false); // 좜λ ₯ κ²°κ³Ό: false

console.log(1 !== '1'); // 좜λ ₯ κ²°κ³Ό: true
console.log(1 !== true); // 좜λ ₯ κ²°κ³Ό: true
console.log(0 !== false); // 좜λ ₯ κ²°κ³Ό: true

논리 μ—°μ‚°μž

  • 항상 비ꡐ μ—°μ‚°μžμ™€ κ²°ν•©λ˜μ–΄ μ‚¬μš©λ©λ‹ˆλ‹€.
  • && (and), || (or), ! (not)

const a = 10;
const b = 5;
const c = 15;

console.log(a > b || a > c); // 좜λ ₯ κ²°κ³Ό: true
console.log(a < b || a > c); // 좜λ ₯ κ²°κ³Ό: false

console.log(a > b && a < c); // 좜λ ₯ κ²°κ³Ό: true
console.log(a < b && a > c); // 좜λ ₯ κ²°κ³Ό: false

console.log(!(a > b)); // 좜λ ₯ κ²°κ³Ό: false
console.log(!(a < b)); // 좜λ ₯ κ²°κ³Ό: true

✨ μ‚Όν•­ μ—°μ‚°μž

  • ν”Όμ—°μ‚°μžκ°€ 3개인 μ—°μ‚°μž (자주 μ“°μž„)

const num = 7;

const message = (num % 2 === 0) ? 'μ§μˆ˜μž…λ‹ˆλ‹€.' : 'ν™€μˆ˜μž…λ‹ˆλ‹€.';
console.log(message); // 좜λ ₯ κ²°κ³Ό: 'ν™€μˆ˜μž…λ‹ˆλ‹€.'

ν˜•λ³€ν™˜

  • μžλ°”μŠ€ν¬λ¦½νŠΈλŠ” 동적인 μ–Έμ–΄λ‘œ λ³€μˆ˜μ˜ 데이터 νƒ€μž…μ΄ μžλ™μœΌλ‘œ κ²°μ •λ©λ‹ˆλ‹€.
  • λ•Œλ¬Έμ— λ•Œλ•Œλ‘œ λ³€μˆ˜μ˜ 데이터 νƒ€μž…μ„ λͺ…μ‹œμ μœΌλ‘œ μ§€μ •ν•΄μ£Όκ±°λ‚˜, 데이터 νƒ€μž…μ„ λ³€ν™˜ν•΄μ£Όμ–΄μ•Ό ν•  ν•„μš”κ°€ μžˆμŠ΅λ‹ˆλ‹€.

λ¬΅μ‹œμ  ν˜•λ³€ν™˜

  • μžλ°”μŠ€ν¬λ¦½νŠΈλŠ” μˆ«μžν˜• 데이터와 λ¬Έμžμ—΄ 데이터λ₯Ό μ—°κ²° μ—°μ‚°μžλ‘œ μ²˜λ¦¬ν•˜λ©΄ λ¬Έμžμ—΄λ‘œ ν˜•λ³€ν™˜μ΄ μΌμ–΄λ‚©λ‹ˆλ‹€.
let num1 = 10 + "10";
console.log(num1); // 1010
console.log(typeof(num1)); // string

λͺ…μ‹œμ  ν˜•λ³€ν™˜

  • κ°œλ°œμžκ°€ μ˜λ„λ₯Ό κ°€μ§€κ³  ν˜•λ³€ν™˜μ„ ν•˜λŠ” 것
let num2 = 10;
let num3 = "10";
console.log(10 + Number(num3)); // 20

let num4 = 10;
let str = String(num4);
console.log(10+str); // 1010