1주차 - 요건 기본! 다 알아야 해
2주차 - ES6 문법, 일급 객체
3주차 - 이건 딱히?
4주차 - async / await, Promise 객체, 동기와 비동기의 차이
5주차 - 클래스, 객체지향 프로그래밍, 정적 메소드
여기를 어떻게 구현해야 할지 몰라 헤맸다.
내가 처음에 구현한 모습은 아래와 같았다.
여러 의문점들
원을 그려주는 함수가 이렇게 생겼다. 얘가 Promise 객체를 반환한다.
이걸 어떻게 적절하게 잘 써야 할 것 같은데, 이걸 안 쓰자니 정보화면까지 다 찍히고 쓰자니 로그가 아무것도 안찍힌다.
forEarch 구문이 관건인 것 같은데... log를 대체 어떻게 쌓아야 할까? 🤔🤔🤔🤔🤔
객체는 key - value 값으로 쓰기 때문에, key 값과 value 값의 이름이 같으면 꼭 : 으로 쓰지 않고 생략해버릴 수도 있다.
이렇게만 보면 마치 배열처럼 보이지만, 이건 배열이 아니라 객체다. 키밸류 값이 똑같으면 생략할 수 있기 때문이다.
...arr 로 풀어버리면 배열 껍데기까지 벗어버리고 그냥 아예 값만 와르르 쏟아지는 것.
console.log(arr)과 console.log(...arr) 해보면 다르게 나온다.
console.log(args) 로 쓰면 배열 형태로 나온다.
console.log(...args) 로 써야 그냥 그 값 그대로 나온다.
장점1 : ${} 를 사용하여 변수를 가져올 수 있다
장점2 : 멀티라인을 지원한다
const myMap = new Map();
myMap.set('key','value'); // 이렇게 데이터 추가함
myMap.get('key'); // 이렇게 데이터 검색함
const myMap = new Map();
myMap.set('one', 1);
myMap.set('two', 2);
myMap.set('three', 3);
for (const key of myMap.keys()) {
console.log(key);
}
for (const value of myMap.values()) {
console.log(value);
}
for (const entry of myMap.entries()) {
console.log(`${entry[0]} : ${entry[1]}`);
// 엔트리는 키밸류를 하나의 배열로 묶어 이터레이터로 감싸준 것
console.log(myMap.size); // map의 size (길이)
console.log(myMap.has("two")); // key 기반 검색
}
const mySet = new Set();
mySet.add('value');
mySet.add('value2'); // 여기까지 했을 때 mySet.size 하면 2 나옴
mySet.add('value'); // 여기까지 하고 mySet.size 해도 2 나옴 -> 중복인거 합쳐버림
console.log(mySet.has('value')); // true
console.log(mySet.has('value3')); // false
for (const value of mySet.values) {
console.log(value);
}
hp와 atk()가 공통이니 뽑는것도?
this.을 붙여서 상태처럼 쓸 필요는 없다!
그냥 데미지를 리턴하고 그 값을 hp에서 빼는 것도 가능!
지금같은 구현이라면 바깥에서 데미지를 카운트해주는 무언가가 필요할것!
함수 한개로 음수면 데미지, 양수면 힐로 구현할 수 있을 것!
체력이 NaN인 몬스터
아무리 때려도 죽지 않는 좀비 몬스터
그리고 서로 웃는 옛 15조