Today, I Learned
- PRE-underbar advanced 문제 마무리 (except for 3 problems)
- eval을 통해서 문자열을 코드처럼 쓸 수 있다. 예를 들어, eval('2+2'); 를 하면 결과는 4가 리턴된다.
내가 이것을 응용한 코드 :
result.push(eval('el.'+functionOrKey+'()'));
메서드를 문자열로 받아서, 그 메서드를 실행시켰다.
- bind(), apply(), call()을 수업시간에 복습했다. bind()를 이용해서, curry함수를 만들 수 있다는 것을 배웠고, DOM과 함께 Array-like 객체인 querySelectorAll()로 가져온 자료 등을 바탕으로 mapping해서 원하는 자료만 추출할 수 도 있고, 다양한 응용이 가능하다는 것을 배웠다(매우 신기했다..ㅎㅎ)
- 전개문법 : ...args : args가 배열일 때, args를 참조하면, 1 2 3 이런식으로 배열 안의 요소들이 리턴됨
rest parameter : ...args : 전개문법과 똑같지만, args가 배열이 아닌 요소1, 요소2, 요소3 이런식일 때, args를 참조하면 배열이 리턴됨.
- Math.random() : 이미 알고 있었지만, 헷갈렸다.. 확실히 개념 잡고가자. Math.random() 자체는 0이상, 1미만의 랜덤 실수를 리턴한다. 그러면, 0이상 10미만의 정수를 받으려면? Math.random() * 10 =>0이상, 10미만의 랜덤 실수를 리턴 => 여기에 Math.floor(Math.random() * 10) 해주면, 0이상 10미만의 정수를 리턴한다는 것을 예시로 기억!
Planning to Study
Comment
: 안될거라는 회의적인 생각을 너무 많이하는 것 같다. 평소에도 뭔가를 하자하거나, 하려했을 때, 좋게 말하면 신중하다고 할 수 있지만, '이게 될까?'라는 회의적인 생각을 많이하는데, 좋다고는 생각되지 않는다. 물론, 이유없는 긍정도 별로지만, 의심부터하지는 말자 :D