본문 바로가기

[자바스크립트] 클로저에 대해 알아보자 들어가며 알고리즘 문제를 하나씩 풀면서, 클로저란 무엇인지 알아보고 싶었습니다. 다른 글이나 설명들을 보면 상당히 복잡한 경우가 있었는데, 이걸 어떻게 하면 쉽게 설명할 수 있을까 고민해보고 싶었습니다. 이번 기회에 이 부분을 제대로 정리해봐야겠다고 생각했습니다. 변수의 유효범위 클로저를 이해하려면 자바스크립트가 어떻게 변수의 유효범위를 지정하는지 먼저 이해해야 합니다. { let message = "Hello"; console.log(message); } console.log(message); 위의 경우 스코프 안에서는 변수를 콘솔 값에 출력할 수 있었지만, 스코프 밖에서는 스코프 안에 있는 변수를 콘솔 값에 출력할 수 없었습니다. 즉 자바스크립트는 함수 내부에서 함수 외부에 있는 변수에 접근할 수 있..
[자바스크립트] slice와 splice의 차이점에 대해 알아보자 들어가며 알고리즘 문제를 하나씩 풀면서, slice와 splice의 차이점에 대해 문득 궁금해졌습니다. 비슷한 기능을 수행하는 것 같은데, 어떤 차이점이 있고, 어느 상황에서 메서드를 사용해야 하는지 잘 알지 못했습니다. 이번 기회에 이 부분을 제대로 정리해봐야겠다고 생각했습니다. Array.prototype.slice() slice() 메서드는 어떤 배열의 start부터 end 전까지의 복사본을 새로운 배열 객체로 반환합니다. 즉, 원본 배열은 수정되지 않습니다. 위의 설명이 좀 어려울 수 있습니다. 이를 다르게 해석하면, slice(start, end) 메서드는 start와 end 인자를 받습니다. start는 추출 시작점에 대한 인덱스를 말하며, end는 추출을 종료할 인덱스를 말합니다. 메서드의 ..