본문 바로가기

자바스크립트3

[자바스크립트] 자바스크립트의 메모리 관리 - 가비지 컬렉션에 대해서 (javascript garbage-collection) 메모리 생명 주기 프로그래밍 언어와 상관없이 매모리 생명 주기는 아래와 같이 항상 동일하다. 필요한 메모리 할당 할당된 메모리 사용(읽기, 쓰기) 해당 메모리가 필요 없어지면 해제 메모리 할당 및 해제 high level language인 자바스크립트는 필요한 메모리를 자동으로 할당하고 더 이상 사용하지 않는 메모리는 자동으로 회수하지만 "모든" 필요없어진 메모리를 해제하는 것은 아니며, 더 이상 필요없는 "몇몇"의 메모리를 찾아낸다. 필요없는 메모리를 식별하기 위한 방법은 무엇인가요? 1. Referenct-counting 파일, 소켓 메모리 슬롯 등 할당된 각 리소스를 가리키는 참조의 수를 계산하는 것. var bar = { name: 'bar' } bar = '' 위에서 bar는 새로운 값을 받았기.. 2021. 8. 29.
호이스팅에 대해서 알아보자(feat. 함수 선언문 & 함수 표현식) in Javascript 호이스팅이란 자바스크립트 함수는 실행되기 전에 함수 안에 필요한 변수값들을 모두 모아서 유효 범위의 최상단에 선언한다. 자바스크립트 Parser가 함수 실행 전 해당 함수를 한 번 훑는다. 함수 안에 존재하는 변수/함수선언에 대한 정보를 기억하고 있다가 실행시킨다. 유효 범위: 함수 블록 {} 안에서 유효 즉, 함수 내에서 아래쪽에 존재하는 내용 중 필요한 값들을 끌어올리는 것이다. 실제로 코드가 끌어올려지는 건 아니며, 자바스크립트 Parser 내부적으로 끌어올려서 처리하는 것이다. 실제 메모리에서는 변화가 없다. // 호이스팅의 대상 var 변수 선언과 함수선언문( function test () {} ) 에서만 호이스팅이 일어난다. var 변수/함수의 선언만 위로 끌어 올려지며, 할당은 끌어 올려지지.. 2020. 12. 20.
함수형 프로그래밍 정리 (Functional Programming) javasciprt 함수형 프로그래밍 함수형 프로그래밍의 조건1. 인풋이 있고, 아웃풋을 return 하는 형태의 함수- 부작용이 없는 순수함 : 함수가 인풋만을 받아서 인풋만을 사용하고 아웃풋을 계산하여 리턴해야 함. 2. 다른함수를 인풋 또는 아웃풋으로 사용 (고차함수)- ex) map, reduce, filter 3. 모든 데이터를 불변으로 생각하기var rooms = ['h1', 'h2', 'h3'];rooms[2] = 'h4' ['h1', 'h2', 'h4'];rooms => ['h1', 'h2', 'h3']; 출처 : youtube jsconf 채널의 Anjana Vakil - JSUnconfhttps://www.youtube.com/watch?v=e-5obm1G_FY DOCTYPE html> Document /.. 2020. 10. 28.