티스토리 뷰

.sort!!!

.sort는 원본을 바꾼다.-> 불편하다..

Array.slice().sort -> 이러면 원본이 안바뀐다.

 

['af','ab'].sort((a,b) => a.localeCompare(b))

af와 ab의 앞엔 a이며, 같은 코드를 갖고있기 때문에 누가 더 큰지 비교가 어렵다. 그렇기 때문에 localeCompare로 비교를 하면 뒷글자까지 비교가 된다. 


리팩토링 방법!!!!!!

코드가 중복되는 것 같으면 함수를 만들고 변경되는 부분을 매개변수로 만들면된다..!

여러 변수가 중복된다면, 그룹화가 가능하면 객체로 쓰자!!!!

객체[value]->이렇게 하면 key값이 나온다.(이렇게 쓰자!)

객체.value -> 이렇게 하면 문자열이 나온다.(명심!!!!)

중복 제거는 -> 리팩토링!!

but, 코드가 잘 돌아가는게 더 우선순위인것을 잊지 말자!!!!


타이머!!!

자바스크립트 타이머 시간은 정확하지 않다-> 기존하고있는 일이 끝나야 setTimeOut이 실행되기 때문이다(이벤트루프와 관련이 있다.)

setTimeOut -> 지정된 시간 후에 특정동작을 실행

setInterver -> 지정된 시간마다 반복해서 실행한다.


클로저!!!!

(function(매개변수 j){})(i) -> let j = i 와 같다.

 

클로저는 함수 바깥의 변수와 안(블록,함수)의 관계의 문제이다. 

var과 비동기가 만나면 클로저 문제가 발생한다. 


addEventListener <-> removeEventListener


{} === {} -> false

[] === [] -> false

//만약 이걸 같게 하고 싶다면 변수에 넣어 '참조'해주면 된다.

//아래 예시

let a = 1;

let b = a;

a === b // true

 

댓글