[JavaScript] - λ³€μˆ˜

녕이·2022λ…„ 11μ›” 21일
0

Learned

λͺ©λ‘ 보기
2/7
post-thumbnail

🎈 JavaScript

  • μžλ°”μŠ€ν¬λ¦½νŠΈ(JavaScript)λŠ” 객체(object) 기반의 슀크립트 μ–Έμ–΄
  • HTMLλ‘œλŠ” μ›Ήμ˜ λ‚΄μš©μ„ μž‘μ„±ν•˜κ³ , CSSλ‘œλŠ” 웹을 λ””μžμΈν•˜λ©°, μžλ°”μŠ€ν¬λ¦½νŠΈλ‘œλŠ” μ›Ήμ˜ λ™μž‘μ„ κ΅¬ν˜„
  • 주둜 μ›Ή λΈŒλΌμš°μ €μ—μ„œ μ‚¬μš©λ˜λ‚˜, Node.js와 같은 ν”„λ ˆμž„μ›Œν¬λ₯Ό μ‚¬μš©ν•˜λ©΄ μ„œλ²„ μΈ‘ ν”„λ‘œκ·Έλž˜λ°μ—μ„œλ„ μ‚¬μš©κ°€λŠ₯
  • ν˜„μž¬ μ»΄ν“¨ν„°λ‚˜ 슀마트폰 등에 ν¬ν•¨λœ λŒ€λΆ€λΆ„μ˜ μ›Ή λΈŒλΌμš°μ €μ—λŠ” μžλ°”μŠ€ν¬λ¦½νŠΈ 인터프리터가 λ‚΄μž₯λ˜μ–΄ 있음

[μ°Έκ³ μ‚¬μ΄νŠΈ]
https://youtu.be/KF6t61yuPCY

πŸŽˆλ³€μˆ˜

  1. λ³€μˆ˜λŠ” λ¬Έμžμ™€ 숫자, $와 _만 μ‚¬μš©
  2. 첫 κΈ€μžλŠ” μˆ«μžκ°€ λ μˆ˜μ—†μŒ
  3. μ˜ˆμ•½μ–΄λŠ” μ‚¬μš©ν• μˆ˜μ—†μŒ
  4. κ°€κΈ‰μ„± μƒμˆ˜λŠ” λŒ€λ¬Έμžλ‘œ μ•Œλ €μ£ΌκΈ°
  5. λ³€μˆ˜λͺ…은 읽기 쉽고 μ΄ν•΄ν• μˆ˜μžˆκ²Œ μ„ μ–Έ

βœ” λ¬ΈμžλŠ” 항상 λ”°μ˜΄ν‘œλ‘œ 감싸주어야함
βœ” μ˜ˆμ•½μ–΄ μ‚¬μš©X(μžλ°”μŠ€ν¬λ¦½νŠΈμ—μ„œ 이미 μ‚¬μš©ν•˜λŠ”μ–Έμ–΄ ex)class)


alert πŸ‘‰πŸ» κ²½κ³ μ°½
console.log πŸ‘‰πŸ» 둜그λ₯Όμ°λŠ”μ°½

let πŸ‘‰πŸ» ν•œλ²ˆμ„ μ–Έν›„μ— λ‹€λ₯Έκ°’μœΌλ‘œ λ°”κΏ€μˆ˜μžˆμŒ
ex) let grade = "F";
grade = "A+"; (letμƒλž΅κ°€λŠ₯)
const : μ ˆλŒ€λ‘œ λ°”λ€ŒλŠ” μ•ŠλŠ” μƒμˆ˜ μˆ˜μ •X
파이,μ΅œλŒ“κ°’,생일 πŸ‘‰πŸ» λŒ€λ¬Έμžλ‘œ μ„ μ–Έν•˜λŠ”κ²Œμ’‹λ‹€(λ‹€λ₯Έκ°œλ°œμžμ—κ²Œ μƒμˆ˜λΌκ³  μ•Œλ €μ€Œ)
ex) const PI = 3.14;
const SPEED_LIMIT = 50;
const BIRTH DAY = '2020-01-01';
πŸ“Tip : λͺ¨λ“ λ³€μˆ˜ const > λ³€ν• μˆ˜μžˆλŠ”κ²ƒλ§Œ let

πŸŽˆμžλ£Œν˜•

  • Boolean : 논리적인 μš”μ†Œ, true와 false값이 μžˆλ‹€.
  • null : 빈 κ°’
  • undefined : 값을 ν• λ‹Ήν•˜μ§€ μ•Šμ€ λ³€μˆ˜κ°€ κ°€μ§€λŠ” κ°’
  • Number : μˆ«μžν˜•μœΌλ‘œ μ •μˆ˜μ™€ 뢀동 μ†Œμˆ˜μ , λ¬΄ν•œλŒ€ 및 NaN(μˆ«μžκ°€ μ•„λ‹˜)값을 ν¬ν•¨ν•œλ‹€.
  • String : λ¬Έμžμ—΄

λ°±ν‹± : λ¬Έμžμ—΄ 내뢀에 λ³€μˆ˜λ₯Ό ν‘œν˜„ν•΄μ€„λ•Œ μ‚¬μš©ν•˜λ©΄ 편리
ex) const message = My name is ${name};
console.log(message);
κ²°κ³Όκ°’ : "My name is Mike"

🎈typeof μ—°μ‚°μž

  • λ‹€λ₯Έ κ°œλ°œμžκ°€ μž‘μ„±ν•œ λ³€μˆ˜μ˜ νƒ€μž…μ„ μ•Œμ•„μ•Όν•˜κ±°λ‚˜
  • API톡신을 톡해 λ°›μ•„μ˜¨ 데이터λ₯Ό νƒ€μž…μ— 따라 λ‹€λ₯Έλ°©μ‹μœΌλ‘œ μ‚¬μš©ν•΄μ•Όν• λ•Œ
    typeof null; // "object" κ°μ²΄ν˜•
  • λ¬Έμžν˜• + μˆ«μžν˜• > λ¬Έμžν˜•μœΌλ‘œ 변경됨

πŸŽˆλŒ€ν™”μƒμž
alert =μ•Œλ €μ€Œ / 메세지λ₯Ό λ³΄μ—¬μ€Œ
prompt = μž…λ ₯λ°›μŒ / λ””ν΄νŠΈκ°’λ„ μž…λ ₯κ°€λŠ₯ / μ‚¬μš©μžμ—κ²Œ 메세지λ₯Ό 보여주고
어떀값을 μž…λ ₯λ°›μ„μˆ˜μžˆμŒ ν•„λ“œλ₯Ό μ œκ³΅ν•¨
confirm = ν™•μΈλ°›μŒ / μ‚¬μš©μžμ—κ²Œ 확인을 λ°›κΈ°μœ„ν•œ μš©λ„

πŸ“λ‹¨μ :
1. 슀크립트 μΌμ‹œ 정지(창을 λ‹«κΈ°μ „μ—λŠ” μ΄ν›„λ™μž‘μ— μ œν•œμ„λ°›μŒ)
2.μŠ€νƒ€μΌλ§X(μœ„μΉ˜μ™€ λͺ¨μ–‘을 μ •ν• μˆ˜μ—†μŒ > λ””μžμ΄λ„ˆλ“€μ΄ μ•ˆμ’‹μ•„ν•¨)

prompt

ex) λ””ν΄νŠΈ / 2개의 인수λ₯Ό λ°›μ„μˆ˜μžˆμŒ
ν•¨μˆ˜λ₯Ό μ‹€ν–‰ν•˜λŠ” κ΄„ν˜Έμ•ˆμ˜κ°’ = 인수
const name = prompt("μ˜ˆμ•½μΌμ„ μž…λ ₯ν•΄μ£Όμ„Έμš”.","2020-10-18");
alert("ν™˜μ˜ν•©λ‹ˆλ‹€." + name + "λ‹˜");
"2020-10-18" > μž…λ ₯받을 λ””ν΄νŠΈκ°’(λ―Έλ¦¬λ“€μ–΄κ°€μžˆμœΌλ©΄ μ•ˆλ‚΄or힌트λ₯Ό μ€„μˆ˜μžˆμŒ)

ex)
const name = prompt("이름을 μž…λ ₯ν•˜μ„Έμš”.");
alert(μ•ˆλ…•ν•˜μ„Έμš”. ${name}λ‹˜. ν™˜μ˜ν•©λ‹ˆλ‹€.);

confirm

alertκ³Ό λ‹€λ₯Έμ  > alertλŠ” ν™•μΈλ²„νŠΌλ§Œμžˆμ§€λ§Œ
confirm은 μ·¨μ†Œ/ν™•μΈλ²„νŠΌμ΄ κ°™μ΄μžˆμŒ
확인 πŸ‘‰πŸ» true / μ·¨μ†Œ πŸ‘‰πŸ» false

κ·Έ μ™Έ

String() λ¬Έμžν˜•μœΌλ‘œ λ³€ν™˜
Number() μˆ«μžν˜•μœΌλ‘œ λ³€ν™˜
ex) Number("문자") // NaN
Number(null) // 0
promptμ—μ„œ μ·¨μ†Œλ²„νŠΌμ„ λˆ„λ₯΄λ©΄ nullν• λ‹Ή > 숫자0
Number(undefined) // NaN(μž˜κΈ°μ–΅ν•΄λ‘κΈ°)

πŸ“μ°¨μ΄μ  및 κΈ°μ–΅ν•΄λ‘˜κ²ƒ
Number(0) // false
Number('0') // true λ¬Έμžν˜•0
Number(") // false λΉ„λ¬Έμžμ—΄
Number(' ') // true 곡백이 λ“€μ–΄κ°€μžˆμœΌλ©΄
Boolean() λΆˆλ¦°ν˜•μœΌλ‘œ λ³€ν™˜
πŸ‘‰πŸ»false
숫자 0, 빈 λ¬Έμžμ—΄ ", null, undefined, NaN << μ œμ™Έν•˜κ³ λŠ” true


ex)μˆ˜ν•™κ³Ό μ˜μ–΄μ˜ 점수λ₯Ό μž…λ ₯λ°›μ•„ 평균을 κ΅¬ν•˜λŠ”κ²ƒ(μˆ˜ν•™90/μ˜μ–΄80)
const mathScore = prompt("μˆ˜ν•™ λͺ‡μ ?");
const engScore = prompt("μ˜μ–΄ λͺ‡μ ?");
const result = (mathScore + engScore) / 2;
κ²°κ³Όκ°’ : 4540
μˆ«μžν˜•μ΄ μ•„λ‹ˆλ”λΌλ„ / λ‚˜λˆ„κΈ°μ˜ 값이 λ“€μ–΄κ°€λ©΄ μˆ«μžν˜•μœΌλ‘œ λ³€ν™˜λ˜μ–΄ μ‚¬μš©
πŸ‘‰πŸ» μžλ™ ν˜•λ³€ν™˜

βœπŸ»ν‰κ· κ°’:85

βœ” 참고둜 μ•Œμ•„λ‘˜κ²ƒ

console.log(
   Number(true); 1
   Number(false); 0
)

πŸŽˆμ—°μ‚°μž

λ‚˜λ¨Έμ§€(%)λ₯Ό 어디에 μ“ΈκΉŒ?
ex) 홀짝
ν™€μˆ˜ : X % 2 = 1
짝수 : Y % 2 = 0
ex) μ–΄λ–€ 값이 듀어와도 5λ₯Ό λ„˜κΈ°λ©΄ μ•ˆλŒ
X % 5 = 0 ~ 4 μ‚¬μ΄μ˜ κ°’λ§Œ λ°˜ν™˜

βœ” κ±°λ“­μ œκ³±
const num = 2**3;
console.log(num); // 8

βœ” μ—°μ‚°μž μ€„μ—¬μ„œ μ“°κΈ°
ex)
let num = 10;
num = num+5;
console.log(num); // 15
πŸ‘‡πŸ»
let num = 10;
num += 5; λ³€μˆ˜μ— 5λ₯Ό λ„£μ–΄μ„œ λ‹€μ‹œ μœ„μ˜μ‹μ— λ„£μ–΄μ£ΌλŠ”κ²ƒ
console.log(num); // 15

βœ” 증가 μ—°μ‚°μž, κ°μ†Œ μ—°μ‚°μž (값을 1만큼 증가 ν˜Ήμ€ κ°μ†Œ)
let num = 10;
num++; num--;
console.log(num); 11 / 9

βœ” λΉ„κ΅μ—°μ‚°μž

a == 3 > aκ°€ 3μ΄λž‘ 같은가
a != 3 > aκ°€ 3μ΄λž‘ λ‹€λ₯Έκ°€
λ°˜ν™˜κ°’μ€ // true or flase

profile
ε…‰θ€ŒδΈθ€€ :) 퍼블리싱-ing

0개의 λŒ“κΈ€