기타/IT 5λΆ„ μž‘ν•™μ‚¬μ „

TIL 8μž₯. μ—ν”Όμ†Œλ“œ 35 ~ μ—ν”Όμ†Œλ“œ 38

πŸŒ³μ§€ν˜œμ˜ 숲 2023. 9. 5. 13:29

였늘 TIL 3쀄 μš”μ•½

μ±…μ—μ„œ κΈ°μ–΅ν•˜κ³  싢은 λ‚΄μš©

μ—ν”Όμ†Œλ“œ 35. λΉ„λ°€λ²ˆν˜ΈλŠ” μ–΄λ–»κ²Œ μ €μž₯될까?

  • λ°μ΄ν„°λ² μ΄μŠ€μ— μ ‘κ·Όν•  수 μžˆλŠ” 운영자, 개발자 λͺ¨λ‘ λ³Ό 수 있기 λ•Œλ¬Έμ— λ°μ΄ν„°λ² μ΄μŠ€μ— κ·ΈλŒ€λ‘œ λΉ„λ°€λ²ˆν˜Έλ₯Ό μ €μž₯ν•˜μ§€ 말 것.
  • νšŒμ‚¬μ—μ„œ μ£ΌλŠ” ν‚€(key)둜 λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό ν•΄μ œν•œ ν›„ 둜그인 ν•˜λŠ” 방법도 μžˆμ§€λ§Œ ν‚€λ₯Ό λΆ„μ‹ν•˜κ±°λ‚˜ λˆ„κ΅°κ°€ κ·Έ ν‚€λ₯Ό ν›”μΉ  μˆ˜λ„ 있기 λ•Œλ¬Έμ— μ—­μ‹œ 쒋은 방법은 μ•„λ‹ˆλ‹€.
  • λ‚΄κ°€ μž…λ ₯ν•œ 값을 λ¬΄μž‘μœ„ κ°’μœΌλ‘œ λ³€ν™˜ν•΄μ£ΌλŠ” ν•΄μ‹œ ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•œλ‹€.
    • λ™μΌν•œ μž…λ ₯값에 λŒ€ν•΄ λ™μΌν•œ 좜λ ₯값을 κ°€μ§„λ‹€.
    • μž…λ ₯값이 μ•„μ£Ό μ‚΄μ§λ§Œ λ°”λ€Œμ–΄λ„ 좜λ ₯값은 크게 바뀐닀.
    • λ°˜λŒ€λ‘œ ν•΄μ‹œ ν•¨μˆ˜ 값을 μž…λ ₯ν•œλ‹€κ³  μ›λž˜ 값이 λ‚˜μ˜€μ§€ μ•ŠλŠ”λ‹€.
  • ν•΄μ‹œ ν•¨μˆ˜λ„ μ›λž˜μ˜ κ°’κ³Ό μ—°κ²°ν•œ ν‘œμΈ 레인보우 ν…Œμ΄λΈ”μ΄ ν•΄ν‚Ήλ‹Ήν•˜λ©΄ μœ„ν—˜ν•΄μ§„λ‹€.
  • λ³€ν™˜λœ λ¬΄μž‘μœ„ 값을 μ†”νŠΈμ™€ ν•©μ³μ„œ ν•΄μ‹œ ν•¨μˆ˜λ₯Ό ν†΅κ³Όμ‹œν‚€λ©΄ μ›λž˜μ˜ λΉ„λ°€λ²ˆν˜Έλ₯Ό μ•Œ 수 μ—†κΈ° λ•Œλ¬Έμ— 해킹에 μ•ˆμ „ν•˜λ‹€.

μ—ν”Όμ†Œλ“œ 36 ~ 37. 객체 μ§€ν–₯  ν”„λ‘œκ·Έλž˜λ°μ΄ 뭐죠?

  • λŒ€ν‘œμ μΈ ν”„λ‘œκ·Έλž˜λ° νŒ¨λŸ¬λ‹€μž„μœΌλ‘œλŠ” 절차 μ§€ν–₯ ν”„λ‘œκ·Έλž˜λ°, 객체 μ§€ν–₯ ν”„λ‘œκ·Έλž˜λ°, ν•¨μˆ˜ν˜• ν”„λ‘œκ·Έλž˜λ°μ΄ μžˆλ‹€.

*ν”„λ‘œκ·Έλž˜λ° νŒ¨λŸ¬λ‹€μž„: ν”„λ‘œκ·Έλž˜λ¨Έκ°€ ν”„λ‘œκ·Έλž˜λ°μ„ ν•  λ•Œμ˜ 관점, 방식등을 이야기 ν•œλ‹€.

  • 객체 μ§€ν–₯ ν”„λ‘œκ·Έλž˜λ°μ€ 반볡 μž‘μ—…μ„ μ΅œμ†Œν™”ν™”μ—¬ 효과적인 ν”„λ‘œκ·Έλž˜λ°μ΄λ‹€.

예λ₯Όλ“€μ–΄,

const player_1={
    name: "Bill Gates",
    health: 85,
    skill: "Programmer",
}
const player_2={
    name: "Elon Musk",
    health: 90,
    skill: "Tesla",
}
const player_3={
    name: "Warren Buffett",
    health: 100,
    skill: "Investor",
}

μœ„μ²˜λŸΌ 같은 속성을 κ°€μ§„ λ°˜λ³΅λ˜λŠ” 객체 ν•¨μˆ˜λ₯Ό

// λ°˜λ³΅λ˜λŠ” 속성을 묢어놓은 클래슀, ν΄λž˜μŠ€λŠ” 속성은 κ°™μ§€λ§Œ 각자 λ‹€λ₯Έ 데이터λ₯Ό μœ„ν•œ 곡μž₯같은 κ°œλ…
class Player {
    constructor(name, health, skill) {
        this.name = name;
        this.health = health;
        this.skill = skill;
        this.xp = 0; // κΈ°λ³Έ μ œκ³΅ν•˜λŠ” κ°’
    }
}
// μœ„μ˜ ν΄λž˜μŠ€μ— μ‚¬μš©ν•  재료 같은 μƒμˆ˜
const bill = new Player("Bill Gates", 85, "Programmer")
const elon = new Player("Elon Must", 90, "Tesla")
const warren = new Player("Warren Buffett", 100, "Investor")

와 같이 μ½”λ“œλ₯Ό μž‘μ„± ν•  수 μžˆλ‹€.

μ΄μœ λŠ” λ°˜λ³΅λ˜λŠ” 객체 ν•˜λ‚˜ν•˜λ‚˜ μž‘μ„±ν•˜λ‹€ 보면 μ˜€νƒ€κ°€ λ‚˜λŠ” κ²½μš°λ‚˜ 값을 λ³€κ²½ν•΄μ•Ό ν•˜λŠ” κ²½μš°κ°€ μžˆλŠ”λ°, λ§Œμ•½ 객체가 100κ°œμ΄μƒμ˜ λ§Žμ€ κ°μ²΄μ—μ„œ μ˜€νƒ€λ₯Ό ν•˜λ‚˜ν•˜λ‚˜ μ°Ύκ±°λ‚˜, 100κ°œκ°€ λ„˜λŠ” 객체의 λ³€κ²½λœ 값을 λͺ¨λ‘ μˆ˜μ •ν•΄μ•Ό ν•  μˆ˜λ„ 있기 λ•Œλ¬Έμ΄λ‹€.

상속
class Human {
    constructor(name) {
        this.name = name;
        this.arms = 2;
        this.legs = 2;
    }
}
class Teenager {
    coustructor(name) {
        this.name = name;
        this.arms = 2;
        this.legs = 2;
        this.emotional = true;
    }
    curse() {
    	return `%^!@$^`;
    }
}
class Baby {
    coustructor(name) {
        this.name = name;
        this.arms = 2;
        this.legs = 2;
        this.cute = true;
    }
    cry() {
    	return `waa waa`;
    }
}​

 

μœ„μ²˜λŸΌ name, arms, legs의 값은 μ€‘λ³΅λ˜κ³  μƒˆλ‘œ μΆ”κ°€λ˜λŠ” 값은 "extends"λ₯Ό μ‚¬μš©ν•΄ μ€‘λ³΅λ˜λŠ” 값은 μƒμ†ν•˜μ—¬ μ‚¬μš©ν•œλ‹€.
class Human {
    constructor(name) {
        this.name = name;
        this.arms = 2;
        this.legs = 2;
    }
}
class Teenager extends Human {
    constructor(name){
        this.emotional = true;
    }
    curse() {
    	return `%^!@$^`;
    }
}
class Baby extends Human {
    constructor(name) {
        this.cute = true;
    }
    cry() {
    	return `waa waa`;
    }
}​

ν•¨μˆ˜ν˜• ν”„λ‘œκ·Έλž˜λ°μ΄ 뭐죠?

  • ν•¨μˆ˜ν˜• ν”„λ‘œκ·Έλž˜λ°μ€ '버그가 λ°œμƒν•˜κΈ° μ–΄λ €μš΄ ꡬ쑰'
  • ν•¨μˆ˜ν˜• ν”„λ‘œκ·Έλž˜λ°μ„ μ§€μ›ν•˜λŠ” μ–Έμ–΄λ‘œλŠ” μžλ°”, μžλ°”μŠ€ν¬λ¦½νŠΈ, νŒŒμ΄μ¬λ“±μ΄ μžˆλ‹€.
  μ„ μ–Έν˜• ν”„λ‘œκ·Έλž˜λ° λͺ…λ Ήν˜• ν”„λ‘œκ·Έλž˜λ° ν•¨μˆ˜ν˜• ν”„λ‘œκ·Έλž˜λ°
κ°œλ… μ›ν•˜λŠ” 결괏값을 μ„ μ–Έ μ›ν•˜λŠ” 결괏값에 μ–΄λ–»κ²Œ λ„λ‹¬ν•˜λŠ”μ§€ μ„ μ–Έ μ„ μ–Έν˜• ν”„λ‘œκ·Έλž˜λ°κ³Ό λΉ„μŠ·
μ„€λͺ… μ˜ˆμ‹œ μƒŒλ“œμœ„μΉ˜λ₯Ό λ§Œλ“€μ–΄μ€˜!



β‘  ν† μŠ€νŠΈ λΉ΅ 2개λ₯Ό κΊΌλ‚΄μ„œ κ΅¬μ›ŒλΌ!
β‘‘ 양상좔 2~3μž₯ μ”»κ³ , ν† λ§ˆν†  μ–‡κ²Œ μ°μ–΄μ„œ ~
β‘’ β‘ μ˜ ν† μŠ€νŠΈ λΉ΅ 1개 μœ„μ— β‘‘μ˜ 재료λ₯Ό 넣은 λ‹€μŒ ~
 
ν”„λ‘œκ·Έλž˜λ° μ˜ˆμ‹œ CSS,
function spaceToHeart(text) {
    return text.replaceAll(" ", "β™‘");
}








function spaceToHeart(text) {
    let result = "";
    for(let i = 0; i < text.length; i++) {
        if(text[i] === " ") {
            result +=  "β™‘"
        } else {
            result += text[i];
        }
    }
    return result;
}
function checkForOdd(item) {
    return item % 2 === 0;
}

function removeOdd(items) {
    return items.filter(checkForOdd);
}



μž₯점 및 단점 - μž₯점: κ²°κ³Ό μ€‘μ‹¬μœΌλ‘œ μ½”λ“œλ₯Ό μž‘μ„±ν•˜λ‹ˆ μ‹€μˆ˜λ„ 적고, λ™λ£Œκ°€ μ½”λ“œλ₯Ό μ΄ν•΄ν•˜κΈ°λ„ 쉽닀.

- μž₯점: ν•  일을 μ„Έμ„Έν•˜κ²Œ μ§€μ‹œν•  수 μžˆλ‹€.
- 단점: κ°œλ°œμžκ°€ μ‹€μˆ˜ν•˜κΈ° 쉽고, λ‚΄κ°€ μž‘μ„±ν•œ μ½”λ“œλ₯Ό λ™λ£Œκ°€ μ΄ν•΄ν•˜κΈ° μ–΄λ €μšΈ μˆ˜λ„ μžˆλ‹€.
 
  • λͺ¨λ“  μ„ μ–Έν˜• ν”„λ‘œκ·Έλž˜λ°μ€ λͺ…λ Ήν˜• ν”„λ‘œκ·Έλž˜λ° μœ„μ— μ“΄λ‹€κ³  ν•  수 μžˆλ‹€.

였늘 읽은 μ†Œκ°μ€?

머릿속 λ’€μ£½λ°•μ£½μ΄λ˜ 객체 μ§€ν–₯ ν”„λ‘œκ·Έλž˜λ°, ν•¨μˆ˜ν˜• ν”„λ‘œκ·Έλž˜λ°μ˜ κ°œλ…μ„ μ–΄λŠμ •λ„ ꡬ뢄할 수 있게 된 것 κ°™λ‹€.

였늘 읽은 λ²”μœ„

μ—ν”Όμ†Œλ“œ 35. λΉ„λ°€λ²ˆν˜ΈλŠ” μ–΄λ–»κ²Œ μ €μž₯될까? ~ μ—ν”Όμ†Œλ“œ 38. ν•¨μˆ˜ν˜• ν”„λ‘œκ·Έλž˜λ°μ΄ 뭐죠?

 

IT 5λΆ„ μž‘ν•™μ‚¬μ „ - 예슀24

κ°œλ°œμžλŠ” λ‹€ λ§₯뢁을 써야 ν•˜λ‚˜?”와 같은 μ‚¬μ†Œν•œ μ§ˆλ¬ΈλΆ€ν„° “μ„œλ²„κ°€ λŒ€μ²΄ λ­”μ§€?”κΉŒμ§€~β™¬μ „κ³΅μžμ™€ λΉ„μ „κ³΅μž λͺ¨λ‘ μ•Œκ³  μ‹Άμ–΄ ν•˜λŠ” μ§ˆλ¬Έμ„ 5λΆ„ μ•ˆμ— ν•΄κ²°ν•΄ μ£ΌλŠ” IT μž‘ν•™μ‚¬μ „μ΄ λ‚˜μ™”λ‹€!IT λΆ„μ•Ό 직μž₯

www.yes24.com