์ƒ์„ธ ์ปจํ…์ธ 

๋ณธ๋ฌธ ์ œ๋ชฉ

10. ์กฐ๊ฑด๋ถ€ ๋กœ์ง ๊ฐ„์†Œํ™”

๐Ÿœ๊ฐœ๋ฐœ์ž๋ผ๋ฉด/์ฑ…์„ ์ฝ์žโœ

by :ํ•ดํ”ผ๋ž˜๋น—๐Ÿพ 2021. 11. 4. 09:48

๋ณธ๋ฌธ

10.1 ์กฐ๊ฑด๋ฌธ ๋ถ„ํ•ดํ•˜๊ธฐ

if(!aDate.isBefore(plan.summerStart)&&!aDate.isAfter(plan.summerEnd))
    charge = quantity*plan.summerRate;
else
    charge = quantity*plan.regularRate+plan.regularserviceCharge;
    
// ์กฐ๊ฑด๋ฌธ ๋ถ„ํ•ดํ•˜๊ธฐ ์ ์šฉ
if(summer())
    charge = summercharge();
else
    charge = regularCharge();

10.2 ์กฐ๊ฑด์‹ ํ†ตํ•ฉํ•˜๊ธฐ

๋™์ผํ•œ ์˜๋ฏธ์˜ ๊ฐ’์„ ์กฐ๊ฑด์‹์œผ๋กœ return ํ•œ๋‹ค๋ฉด ํ†ตํ•ฉํ•œ๋‹ค.

if(anEmployee.seniority<2) return 0;
if(anEmployee.monthsDisabled>12) return 0;
if(anEmployee.isPartTime)return 0;

// ์กฐ๊ฑด์‹ ํ†ตํ•ฉํ•˜๊ธฐ
if (isNotEligibleForDisability())return 0;
function isNotEligibleForDisability(){
    return ((anEmployee.seniority<2)||(anEmployee.monthsDisabled>12)||(anEmployee.isPartTime));
}

10.3 ์ค‘์ฒฉ ์กฐ๊ฑด๋ฌธ์„ ๋ณดํ˜ธ ๊ตฌ๋ฌธ์œผ๋กœ ๋ฐ”๊พธ๊ธฐ

function getPayAmount(){
	let result;
    if (isDead)
    	result= deadAmount();
    else {
        if(isseparated)
            result = separatedAmount();
        else{
            if(isRetired)
                result = retiredAmount();
            else
                result = normalPayAmount();
        }
    }
    return result;
}

// ์ค‘์ฒฉ์กฐ๊ฑด๋ฌธ์„ ๋ณดํ˜ธ ๊ตฌ๋ฌธ์œผ๋กœ ๋ฐ”๊พธ๊ธฐ
function getPayAmount(){
    if(isDead) return deadAmount();
    if(isseparated) return separatedAmount();
    if(isRetired) return retiredAmount();
    return normalPayAmount();
}

10.4 ์กฐ๊ฑด๋ถ€ ๋กœ์ง์„ ๋‹คํ˜•์„ฑ์œผ๋กœ ๋ฐ”๊พธ๊ธฐ

switch(bird.type){
   case '์œ ๋Ÿฝ ์ œ๋น„':
       return '๋ณดํ†ต์ด๋‹ค';
   case '์•„ํ”„๋ฆฌ์นด ์ œ๋น„':
       return (bird.numberOfCoconuts>2)?'์ง€์ณค๋‹ค':'๋ณดํ†ต์ด๋‹ค';
   case '๋…ธ๋ฅด์›จ์ด ํŒŒ๋ž‘ ์•ต๋ฌด':
       return (bird.voltage>100)?'๊ทธ์„๋ ธ๋‹ค':'์˜ˆ์˜๋‹ค';
   default:
       return '์•Œ ์ˆ˜ ์—†๋‹ค';
}

// ์กฐ๊ฑด๋ถ€ ๋กœ์ง์„ ๋‹คํ˜•์„ฑ์œผ๋กœ ๋ฐ”๊พธ๊ธฐ
class Bird{
    constructor(birdObject){
        Object.assign(this,birdObject);
    }
    get plumage(){
        return '์•Œ ์ˆ˜ ์—†๋‹ค';
    }
    get airSpeedVelocity(){
        return null;
    }
}
class EuropeanSwallow extends Bird{
   get plumage(){
       return '๋ณดํ†ต์ด๋‹ค';
   }
   get airSpeedVelocity(){
       return 35;
   }
}
....

10.5. ํŠน์ด ์ผ€์ด์Šค ์ถ”๊ฐ€ํ•˜๊ธฐ

if (aCustomer==='๋ฏธํ™•์ธ ๊ณ ๊ฐ') customerName = '๊ฑฐ์ฃผ์ž';

// ํŠน์ด ์ผ€์ด์Šค ์ถ”๊ฐ€ํ•˜๊ธฐ
class UnknownCustomer{
    get name(){return '๊ฑฐ์ฃผ์ž';}
}

10.6 ์–ด์„œ์…˜ ์ถ”๊ฐ€ํ•˜๊ธฐ

 

10.7 ์ œ์–ด ํ”Œ๋ž˜๊ทธ๋ฅผ ํƒˆ์ถœ๋ฌธ์œผ๋กœ ๋ฐ”๊พธ๊ธฐ

for(const p of people){
    if(!found){
       if(p==='์กฐ์ปค'){
           sendAlert();
           found=true;
       }
    }
}
//์ œ์–ด ํ”Œ๋ž˜๊ทธ๋ฅผ ํƒˆ์ถœ๋ฌธ์œผ๋กœ ๋ฐ”๊พธ๊ธฐ
for(const p of people){
    if(p==='์กฐ์ปค'){
        sendAlert();
        break;
    }
}
728x90

๊ด€๋ จ๊ธ€ ๋”๋ณด๊ธฐ