본문 바로가기
Develog/Front

[Udemy Web 부트캠프] 섹션 19,20,21 루프의 구조, 함수란?, 함수 레벨업

by 예 강 2022. 3. 29.

섹션 19 루프의 구조

for of 메소드와

객체에는 .length같은 길이가 없어서 for of에 사용할 수 없다 (반복가능한 객체가 아니기 때문에)

그래서 Object.key()와 Object.value()등을 이용해서 for of 문을 돌릴수있다. 

해당 메소드들은 키값과 value값을 배열로 만들어서 반환하기 때문에 for of를 돌릴 수 있기 때문이다.

 

For(let score of Object.values(객체명)){

} << 이런식으로 쓸 수 있다.

 

반복횟수가 정해져있을땐 for를 언제 끝날지 알 수 없을 땐 while을 쓰는게 좋다.

///숫자 추측게임 만들기
const collect = 18;
let input = prompt("Enter the maximum number!");
while (true) {

    if (input.toLowerCase == 'q') break;
    if (parseInt(input) == 18) {
        input = prompt("ok! You Win! The number is 18");
    } else if (parseInt(input) < 18) {
        input = prompt(`The number is bigger then ${input}`);
    } else if (parseInt(input) > 18) {
        input = prompt(`The number is lower then ${input}`);
    }
}

 

 

//미니 ToDo List만들기
let todoes = [];
let countTodo = 0;

let input = prompt("명령어를 입력해 주세요!");
while (input !== 'quit' && input !== 'q') {
    if (input.toLowerCase() === "new") {
        const newTodo = prompt("추가 할 To Do를 입력해 주세요");
        todoes.push(newTodo);
        console.log(`좋습니다! ${newTodo}를 목록에 추가했습니다!`);
    } else if (input.toLowerCase() === "list") {
        console.log("*******************");
        for (todo of todoes) {
            console.log(`${todoes.indexOf(todo)} : ${todo}`);
        }
        console.log("*******************");

    } else if (input.toLowerCase() === "delete") {
        const deleteNum = parseInt(prompt("삭제할 index를 입력해 주세요 :"));
        if (!Number.isNaN(deleteNum)) {
            const deleted = todoes.splic(deleteNum, 1);
            console.log(`네! ${deleted}를 삭제했습니다!`);
        } else {
            console.log('unknown index:');
        }
    }
    input = prompt("명령어를 입력해 주세요!");
}
console.log("앱을 종료합니다!")

 

섹션 20 함수란?

js에서 함수 쓰는법, 

함수를 규정하고, 쓰는법, 함수를 반드시 사전에 정의하는 습관을 들여라

 

섹션 21 함수 레벨업 

js에서 함수는 값처럼 인자로 주고받을 수 있다.

함수를 변수로 받아서 사용하는 함수 표현식으로 함수를 사용,

블록범위, lexical 범위 this키워드 등등

함수 축약형, 숏컷 메서드, try-catch구문, 고차함수, 반환함수, 팩토리함수 등등을 배움