[ 모던 자바스크립트 스터디 ] 디스트럭처링 할당
·
Archive/Develop
디스트럭처링 할당(구조 분해 할당)은 구조화된 배열과 같은 이터러블 또는 객체를 destructuring하여 1개 이상의 변수에 개별적으로 할당하는 것이다. 배열 디스트럭처링 할당 const arr = [1, 2, 3]; const [one, two, three] = arr; console.log(one, two, three); // 1 2 3 const [x, y] = [1, 2]; 배열 디스트럭처링 할당의 기준은 배열의 인덱스다. 이때 변수의 개수와 이터러블의 요소 개수가 반드시 일치할 필요는 없다. const [a, b] = [1, 2]; console.log(a, b); // 1 2 const [c, d] = [1]; console.log(c, d); // 1 undefined const [e, ..
[ Nest.js 메모리 누수 ] 내 메모리, 누가 자꾸 훔쳐먹어요
·
Archive/Develop
[29505:0x140008000] 42353552 ms: Mark-sweep 4058.3 (4144.0) -> 4044.1 (4144.0) MB, 2650.0 / 0.0 ms (average mu = 0.642, current mu = 0.011) allocation failure scavenge might not succeed [29505:0x140008000] 42356151 ms: Mark-sweep 4059.9 (4144.0) -> 4045.8 (4144.7) MB, 2571.7 / 0.0 ms (average mu = 0.476, current mu = 0.010) allocation failure scavenge might not succeed FATAL ERROR: Reached heap ..
[ 모던 자바스크립트 스터디 ] 스프레드 문법
·
Archive/Develop
스프레드 문법 ... 은 ES6에서 도입되었고, 하나로 뭉쳐있는 여러 값들의 집합을 펼쳐 개별적인 값들의 목록으로 만든다. 스프레드 문법은 이터러블들만(Array, String, Map, ... ) 사용 가능하다. console.log(...[1, 2, 3]); // 1 2 3 console.log(...'Hello'); // H e l l o 스프레드 문법의 결과는 값이 아니고 값들의 목록이다. 따라서 아래와 같이 변수에 할당할 수 없다는 것을 알아둬야한다. const list = ...[1, 2, 3]; // SyntaxError: Unexpected token ... 함수 호출문의 인수 목록에서 사용하는 경우 const arr = [1, 2, 3]; const max = Math.max(arr); ..
[ 모던 자바스크립트 스터디 ] Symbol
·
Archive/Develop
자바스크립트가 ECMAScript로 표준화된 이래로 자바스크립트는 6개 타입(문자열, 숫자, 불리언, undefined, null, 객체 타입)이 있었다. Symbol 은 ES6에서 도입된 7번째 데이터 타입으로 변경 불가능한 원시 타입 값이다. 이 심벌 값은 다른 값과 중복되지 않는 유일무이한 값이다. 주로 충돌 위험이 없는 유일한 프로퍼티 키를 만들기 위해 사용된다. 심벌 값의 생성 Symbol 함수 심벌 값은 Symbol 함수를 호출해 생성한다. const mySymbol = Symbol(); console.log(typeof mySymbol); // symbol // 심벌 값은 외부로 노출되지않기때문에 확인할 수 없음 console.log(mySymbol); // Symbol() 생성자 함수로 객..