본문 바로가기

자바스크립트

(11)
Unexpected comma using map() map을 사용했는데 의도하지 않은 쉼표가 출력되는 상황이 발생했다. 검색해보니 map 함수가 문자열 형태로 값을 리턴할 때는 기본적으로 쉼표(,)로 묶어서 리턴한다고 합니다. template literals로 결합한 내용도 문자열 형태로 리턴되는 값! map 함수 뒤에 join('') 추가해주니 문제가 해결됐다.
Currying 유인동 강사님의 함수형 프로그래밍(ES5)-인프런 강의를 들으면서 커링을 주제로 포스팅하려고 합니다. 커링이란? 예를 들어, _curry함수는 아래와 같이 진행됩니다. 함수를 인자로 받고 즉시 다음 함수를 리턴합니다. 그리고나서 이 함수는 첫번째 인자로 a를 받고 또 다시 다른 함수를 실행합니다. 내부 안쪽에서 인자 a, b를 적용합니다. function _curry(fn) { return function(a) { return function(b) { return fn(a+b); } } } 즉, 커링은 인자를 여러 개 받는 함수를 분리하여, 인자를 하나씩만 받는 함수의 체인으로 만드는 방법입니다. 함수형 프로그래밍 기법 중 하나로 함수를 재사용하는데 유용하게 쓰일 수 있는 기법입니다. const add1..
가비지 컬렉션 자바스크립트 엔진 내에선 garbage collector가 끊임없이 동작합니다. garbage collector는 모든 객체를 모니터링하고, 도달할 수 없는 객체는 삭제합니다. let user = { name: "John" }; user엔 객체 참조 값이 저장됩니다. 다시말해, 전역 변수 user는 {name: "John"}이라는 객체를 참조합니다. user = null; user의 값을 다른 값으로 덮어쓰면 참조가 사라집니다. 가비지 컬렉터는 이제 객체 {name: "John"} 데이터를 삭제하고, 메모리에서 삭제합니다. 참조 두 개 참조를 user에서 admin으로 복사했다고 가정해보고 let user = { name: "John" }; let admin = user; 위에서 한것 처럼 user의 값..