섹션 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구문, 고차함수, 반환함수, 팩토리함수 등등을 배움
'Develog > Front' 카테고리의 다른 글
[우아한-Tech 스터디] Framer-motion을 이용한 애니메이션으로 화려한 웹 페이지 만들기 - 2주차 - (1) | 2024.06.20 |
---|---|
[리팩터링]Object.keys() 타입 지정해서 사용하기 (0) | 2023.07.23 |
Drag AND Drop (react.js)구현하기 - 1 (0) | 2023.07.09 |
React 중첩라우팅 (0) | 2022.07.10 |
[Udemy Web부트캠프] 공부일지 (0) | 2022.03.19 |