23/10/9

Laejun Kim·2023년 10월 9일
0

TIL

목록 보기
6/89

JavaScript

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 방향을 나타내는 것이 아니라 정말로 '빼기'를 의미한다. 그래서 그 '빼기' 값이 음수냐, 양수냐를 기준으로 두 요소의 자리를 바꿀지, 말지 를 결정하는 것이다!


Trial & Error

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)}`;
};

이러면 버튼을 누를때마다 지정한 위치에 랜덤으로 생성한 세자리 숫자를 적어줄수 있다! 재밌다!

0개의 댓글