논리적 할당
자바스크립트는 복합 할당 연산자의 범위를 지원하여 프로그래머가 이진 연산과 할당을 간결하게 표현할 수 있게 합니다. 현재는 수학적 또는 비트 연산만 지원되고 있습니다.
자바스크립트는 복합 할당 연산자의 범위를 지원하여 프로그래머가 이진 연산과 할당을 간결하게 표현할 수 있게 합니다. 현재는 수학적 또는 비트 연산만 지원되고 있습니다.
JavaScript에서 문자열을 다뤄본 적이 있다면, String#replace
메서드에 대해 들어본 적이 있을 가능성이 큽니다. String.prototype.replace(searchValue, replacement)
는 지정한 매개변수에 따라 일부 일치 항목이 교체된 문자열을 반환합니다:
일반적으로 자바스크립트에서 객체에 대한 참조는 _강하게 유지_됩니다. 즉, 객체를 참조하고 있는 동안에는 가비지 컬렉션이 이루어지지 않습니다.
const ref = { x: 42, y: 51 };
// `ref`(혹은 같은 객체에 대한 다른 참조)를 갖고 있는 한,
// 객체는 가비지 컬렉션되지 않습니다.
현재로서는 WeakMap
과 WeakSet
만이 자바스크립트에서 약하게 객체를 참조하는 유일한 방법입니다. WeakMap
이나 WeakSet
에 객체를 추가해도 가비지 컬렉션을 막을 수는 없습니다.
const wm = new WeakMap();
{
const ref = {};
const metaData = 'foo';
wm.set(ref, metaData);
wm.get(ref);
// → metaData
}
// 이제 이 블록 스코프 내에서 `ref`에 대한 참조를 갖고 있지 않기 때문에,
// `wm`의 키임에도 불구하고 가비지 컬렉션이 가능합니다.
ES2015에서 Promise가 도입된 이후, 자바스크립트는 정확히 두 가지 Promise 조합자: Promise.all
과 Promise.race
를 지원했습니다.
현재 두 가지 새로운 제안인 Promise.allSettled
와 Promise.any
가 표준화 과정을 진행 중입니다. 이 추가들로 인해 자바스크립트에는 총 네 가지 Promise 조합자가 존재하게 되며, 각각 다른 사용 사례를 가능하게 합니다.
큰 숫자 리터럴은 특히 반복되는 숫자가 많을 때, 인간의 눈으로 빠르게 해석하기 어렵습니다:
1000000000000
1019436871.42
가독성을 개선하기 위해 새로운 JavaScript 언어 기능은 숫자 리터럴에서 언더스코어를 구분 기호로 사용할 수 있게 합니다. 따라서 위의 코드는 이제 숫자를 천 단위로 그룹화하여 다시 작성할 수 있습니다: