function expression 을 쓰면 함수를 매번 하나하나 정의하는 수고를 덜 수 있다.
let count= 0;
increaseBtn.onclick = function(){
count+=1;
document.getElementById("myLabel").innerHTML=count;}
이런식으로 쓰면 따로 function을 정의하지 않아도 된다는 소리임.
arrow function(화살표 함수)
const greeting = function(userName){
console.log(`Hello ${userName}`)}
이렇게 쓸걸
const greeting = (userName)=>{
console.log(`Hello ${userName}`)}
이렇게 줄여쓸수 있다는것.{}는 statement가 하나일 경우 생략할수 있다.
array.sort() method : 배열을 정렬할때 사용
var numbers = [4, 2, 5, 1, 3];
numbers.sort(function (a, b) {
return a - b;
});
console.log(numbers);
// [1, 2, 3, 4, 5]
여기서 a-b 가 아닌 b-a를 적었다면 내림차순으로 정렬한다.
아무래도 a에서 b를 뺀다는 의미로 a-b를 적은것이 아니라 a->b, 즉 더 커지는 '방향'을 나타내는 의미로 a-b로 표기한듯 하다.
[Follow up 10/13]
위에서 한 생각은 틀렸다. a-b는 a->b 방향을 나타내는 것이 아니라 정말로 '빼기'를 의미한다. 그래서 그 '빼기' 값이 음수냐, 양수냐를 기준으로 두 요소의 자리를 바꿀지, 말지 를 결정하는 것이다!
Date.now() 의 끝 세자리를 이용해서 RNG를 만들고 싶은데 어떻게 끝 세자리만 자르지?
Date.now()했을때 나오는게 12자리 숫자이니 .substring 메소드를 이용, .substring(10,13) 하면 될 것이다.
어? 근데 Date.now 에서 나오는건 number고 .substring은 그 이름처럼 string을 자르는건데?
Date.now()와 .substring(10,13)사이에 .toString()을 끼워넣으면 그만이지!
완성된 코드
document.getElementById("dateBtn").onclick = function () {
datespan.innerHTML = `your number is ${Date.now()
.toString()
.substring(10, 13)}`;
};
이러면 버튼을 누를때마다 지정한 위치에 랜덤으로 생성한 세자리 숫자를 적어줄수 있다! 재밌다!