Front/JavaScript

[JavaScript] JS μ—°μ‚°μž

ddo04 2024. 7. 4. 01:52
728x90

πŸŽˆβ€Šμžλ°”μŠ€ν¬λ¦½νŠΈ μ—°μ‚°μž μ’…λ₯˜

  1. μ‚°μˆ  μ—°μ‚°μž 
  2. 증감 μ—°μ‚°μž
  3. 비ꡐ μ—°μ‚°μž
  4. 논리 μ—°μ‚°μž
  5. μ‚Όν•­ μ—°μ‚°μž
  6. 널리쉬 μ—°μ‚°μž
  7. λΉ„νŠΈ μ—°μ‚°μž
  8. λŒ€μž… μ—°μ‚°μž

πŸŽˆβ€Šμ‚°μˆ  μ—°μ‚°μž

  • +,-,*,/
  • λͺ¨λ“ˆλŸ¬(%) , **(μ§€μˆ˜ μ—°μ‚°)
  • λ‚˜λˆ—μ…ˆμ„ ν–ˆμ„ λ•Œ λͺ«μ΄ λ˜λŠ” κ°’
console.log(10 / 5);
  • λ‚˜λ¨Έμ§€ μ—°μ‚°μžλ₯Ό μ‚¬μš©ν•˜λ©΄ λͺ¨λ“ˆλŸ¬ νΌμ„ΌνŠΈ 기호λ₯Ό μ‚¬μš©
console.log(10 % 5);
  • 이 μ—°μ‚°μžλ₯Ό μ‚¬μš©ν•˜λ©΄ κ²°κ³Όκ°€ λ‚˜λˆ—μ…ˆμ„ μ‹€ν–‰ν•œ λͺ«μ΄ μ•„λ‹ˆλΌ λ‚˜λ¨Έμ§€ 값을 κ²°κ³Όκ°’μœΌλ‘œ κ°€μ§€κ²Œ 됨
  • μ§€μˆ˜ μ—°μ‚°μžλŠ” μ•žμ˜ μˆ«μžμ— λŒ€ν•œ μ œκ³±μ„ ν•˜μ—¬ 결과값을 λ‚˜νƒ€λ‚΄μ£ΌλŠ” μ—°μ‚°μž

πŸŽˆβ€Šμ¦κ° μ—°μ‚°μž

  • 숫자λ₯Ό μ¦κ°€μ‹œν‚€κ±°λ‚˜ κ°μ†Œμ‹œν‚€κΈ° μœ„ν•΄ μ‚¬μš©λ˜λŠ” μ—°μ‚°μž
  • ++ => +λ₯Ό 연달아 μ‚¬μš©ν•˜λ©΄ 숫자 값이 1 증가
let number = 10;

number++;
console.log(number);
  • -- => -λ₯Ό 연달아 μ‚¬μš©ν•˜λ©΄ 숫자 값이 1 κ°μ†Œ
let number = 10;

number--;
console.log(number);

πŸŽˆβ€ŠλΉ„κ΅ μ—°μ‚°μž

  • μ–΄λ–€ 게 더 ν¬κ±°λ‚˜ μž‘λ‹€ λ˜λŠ” κ°™κ±°λ‚˜ κ°™μ§€ μ•Šλ‹€λ₯Ό λΉ„κ΅ν•˜κΈ° μœ„ν•΄μ„œ μ‚¬μš©λ˜λŠ” μ—°μ‚°μž
  • <>λŠ” λΆ€λ“±ν˜Έκ°€ μ—΄λ¦° μͺ½μ΄ 더 큼
const a = 10;
const b = 20;

console.log(a < b);
console.log(a > b);
  • <=, >= λŠ” ν¬κ±°λ‚˜ κ°™λ‹€, μž‘κ±°λ‚˜ κ°™λ‹€λ‘œ ν‘œν˜„ν•¨
const a = 10;
const b = 20;

console.log(a <= b);
console.log(a >= b);
  • ==. ===λŠ” 양변이 같은지λ₯Ό 비ꡐ
  • νƒ€μž…μ€ μˆ«μžν˜•μœΌλ‘œ κ°™μ§€λ§Œ 값이 달라 false둜 λ‚˜μ˜΄
const a = 10;
const b = 20;

console.log(a === b);
a=123 이고, b='123'일 λ•Œ
a==b κ²°κ³ΌλŠ” true(좔상 비ꡐ)
a===b κ²°κ³ΌλŠ” false(엄격 비ꡐ)
  • λ“±ν˜Έλ₯Ό 2번 μ‚¬μš©ν•˜λŠ” 것보닀 3번 μ‚¬μš©ν•˜λŠ” 것이 양변에 값에 νƒ€μž…κΉŒμ§€ μ •ν™•ν•˜κ²Œ 비ꡐλ₯Ό ν•˜κΈ° λ•Œλ¬Έμ— 일반적인 μΌ€μ΄μŠ€μ—μ„œλŠ” 항상 λ“±ν˜Έ 3개짜리λ₯Ό μ‚¬μš©ν•¨
  • !==은 양변이 같은지 κ°™μ§€ μ•Šμ€μ§€λ₯Ό 비ꡐ
const a = 10;
const b = 20;

console.log(a !== b);

πŸŽˆβ€Šλ…Όλ¦¬ μ—°μ‚°μž

  • && => 양변에 μžˆλŠ” μ‘°κ±΄μ΄λ‚˜ 값이 λͺ¨λ‘ 참일 λ•Œλ§Œ 참이 λ˜λŠ” μ—°μ‚° μˆ˜ν–‰
  • || => 양변에 μžˆλŠ” μ‘°κ±΄μ΄λ‚˜ κ°’ 쀑에 ν•˜λ‚˜λ§Œ 참이어도 참이 λ˜λŠ” μ—°μ‚° μˆ˜ν–‰
  • ! => ν”Ό μ—°μ‚°μž μ•žμ— λΆ™μ΄λŠ” μ—°μ‚°μž / ν”Ό μ—°μ‚°μžμ˜ 값을 λΆ€μ •
const a = 2 < 3;
const b = 30 > 50;

console.log(a && b);
console.log(a || b);
console.log(!a);
console.log(!b);

πŸŽˆβ€Šμ‚Όν–₯ μ—°μ‚°μž

  • 쑰건의 κ²°κ³Όκ°€ 참인지 거짓인지에 λ”°λΌμ„œ λ‹€λ₯Έ μ‹€ν–‰ κ²°κ³Όλ₯Ό κ°€μ§€λŠ” 연산을 μˆ˜ν–‰
  • 3개의 ν”Ό μ—°μ‚°μžλ₯Ό κ°€μ§€λŠ” νŠΉμ΄ν•œ μ—°μ‚°μž
  • μ•žμ— 쑰건을 λͺ…μ‹œν•˜κ³  λ¬ΌμŒν‘œ 기호λ₯Ό μ‚¬μš©ν•œ λ‹€μŒμ— 참일 λ•Œ 싀행될 뢀뢄을 μž‘μ„±ν•˜κ³  μ½œλ‘ μ„ μ‚¬μš©ν•œ 후에 거짓일 λ•Œ μ‹€ν–‰λœ 뢀뢄을 μž‘μ„±
console.log(2 < 3 ? 'μ°Έ' : 'κ±°μ§“');
console.log(2 > 3 ? 'μ°Έ' : 'κ±°μ§“');

πŸŽˆβ€Šλ„λ¦¬μ‰¬ μ—°μ‚°μž

  • 널 병합 μ—°μ‚°μžλΌκ³  λΆ€λ₯΄κΈ°λ„ 함
  • λ¬ΌμŒν‘œ 2개λ₯Ό λΆ™μ—¬μ„œ μ‚¬μš©
  • μ—¬λŸ¬ 개의 ν”Όμ—°μ‚°μž 쀑 값이 ν•œμ •λ˜μ–΄ μžˆλŠ” λ³€μˆ˜λ₯Ό 찾음
const a = undefined;
const b = null;
const c = 'μ΄λ„ν˜œ';

console.log(a ?? b ?? c);
  • underfined, null이 μ•„λ‹Œ 경우λ₯Ό μ°ΎλŠ” 것을 의미
  • 널리쉬 μ—°μ‚°μžλ₯Ό μ‚¬μš©ν•˜μ—¬ 각각의 λ³€μˆ˜κ°€ null λ˜λŠ” underfinedκ°€ μ•„λ‹Œ μ–΄λ–€ 갑이 ν™•μ •λ˜μ–΄ μžˆλŠ”μ§€λ₯Ό μ²΄ν¬ν•˜κ³  값이 ν™•μ •λ˜μ–΄ μžˆλ‹€λ©΄ ν•΄λ‹Ή 값을 μ„ νƒν•˜κ²Œ 됨

πŸŽˆβ€ŠλΉ„νŠΈ μ—°μ‚°μž

  • 이진 μ—°μ‚° 
  • λ°”μ΄λ„ˆλ¦¬ 연산을 μˆ˜ν–‰ν•˜λŠ” μ—°μ‚°μžλ₯Ό 의미
  • & => 
  • |
  • ^
  • <<
  • >>
  • μžλ°” 슀크립트의 경우 λΉ„νŠΈ μ—°μ‚°μžλ₯Ό μ§€μ›ν•˜κΈ΄ ν•˜μ§€λ§Œ μ‚¬μš©ν•  일이 λ§Žμ§€ μ•Šκ³  평생 μ“°μ§€ μ•Šμ„ ν™•λ₯ μ΄ λ†’λ‹€

πŸŽˆβ€ŠλŒ€μž… μ—°μ‚°μž

  • =
  • 볡합 λŒ€μž… μ—°μ‚°μž => μ§„μˆ , μ‚°μˆ , λΉ„νŠΈ, 논리. 널리쉬 μ—°μ‚°μžμ™€ λŒ€μž… μ—°μ‚°μžλ₯Ό ν•©μ³μ„œ λ§Œλ“  것을 의미
  • 각 μ—°μ‚°μžμ˜ μ—°μ‚°μž 뒀에 =λ₯Ό λΆ™μ—¬μ„œ 볡합 λŒ€μž… μ—°μ‚°μžλ₯Ό μ μš©ν•  수 있음

πŸŽˆβ€Šμ „κ°œκ΅¬λ¬Έ(μ „κ°œ μ—°μ‚°μž)

  • 반볡이 κ°€λŠ₯ν•œ μ–΄λ–€ 객체에 μ μš©ν•  수 μžˆλŠ” λ¬Έλ²•μ˜ ν•œ μ’…λ₯˜
  • 반볡이 κ°€λŠ₯ν•˜λ‹€λŠ” 것은 λ°°μ—΄μ΄λ‚˜ λ¬Έμžμ—΄μ„ 의미
  • μ „κ°œκ΅¬λ¬Έμ„ μ‚¬μš©ν•˜λ©΄ κ°€μ§€κ³  μžˆλŠ” μš”μ†Œλ₯Ό 각각 κΊΌλ‚΄μ„œ μ „κ°œν•˜λŠ” νŽΌμΉ˜λŠ” μ—­ν• 
const numbers = [1,2,3];

console.log(...numbers);
  • λ°°μ—΄ μ•ˆμ— λ‚΄μš©μ„ λ‹€ κΊΌλ‚΄ κ°€μ§€κ³  νŽΌμ³μ„œ 좜λ ₯λ˜λŠ” 것을 확인할 수 있음
const numbers = [1,2,3];
const numbers2 = [4,5,6];

const newNumbers = [...numbers, ...numbers2];
console.log(newNumbers);
  • 6개의 μš”μ†Œλ₯Ό κ°€μ§€λŠ” 배열이 된 것을 확인할 수 있음