본문 바로가기

분류 전체보기

(180)
ES12 (ES2021) 이번 포스팅에선 ES12 의 기능들에 대해 알아보겠습니다. - replaceAll const test1 = '2022-03-03'; const result1 = test1.replace('-', ''); const result2 = test1.replace(/-/g, ''); console.info(result1); // 202203-03 console.info(result2); // 20220303 원래 자바스크립트에는 replaceAll 메서드가 없었습니다. 따라서 replace 메서드를 통해 replaceAll 과 같은 효과를 보려면 정규표현식을 같이 사용해야 했습니다. const result1 = test1.replaceAll('-', ''); console.info(result1); // 202..
ES11 (ES2020) 이번 포스팅에선 ES11 의 기능들에 대해 알아보겠습니다. - matchAll 정규표현식에 사용할 수 있는 새로운 메서드가 추가되었습니다. 기존에는 match 메서드를 사용해왔었는데, 어떤 차이점이 있는지 아래 코드 예제로 보도록 하겠습니다. const regex1 = /https?:\/\/www.npmjs.com\/package\/(\w*)/g; const regex2 = /https?:\/\/www.npmjs.com\/package\/(\w*)/; const domain = 'https://www.npmjs.com/package/axios'; const test1 = domain.match(regex1); const test2 = domain.match(regex2); console.info(test..
ES10 (ES2019) 이번 포스팅에선 ES10 의 기능들에 대해 알아보겠습니다. - Array.prototype.flat flat 이라는 이름 그대로 배열을 평탄화시키는 메서드가 새롭게 추가되었습니다. 이미 lodash 와 같은 유틸 함수를 제공해주는 라이브러리를 자주 사용해왔다면 그리 어색하진 않을 메서드입니다. const list1 = [1, 2, [3, 4]]; console.info(list1.flat()); // [1, 2, 3, 4] const list2 = [1, 2, [3, 4, [5, 6]]]; console.info(list2.flat()); // [1, 2, 3, 4, [5, 6]] console.info(list2.flat(2)); // [1, 2, 3, 4, 5, 6] const list3 = [1, ..
ES9 (ES2018) 이번 포스팅에선 ES9 의 기능들에 대해 알아보겠습니다. 나온진 꽤 됐지만 쓰는 기능도 있고 처음 보는 기능 (관심이 부족했는지..) 도 있어 적어보려 합니다. - Object rest/spread properties ES6 때부터 spread operator 와 rest parameters 는 도입이 되었었습니다. 먼저 이 두 문법부터 간단히 보도록 하겠습니다. const list1 = [1, 2, 3]; const list2 = [...list1, 4, 5, 6]; console.info(list2); // [1, 2, 3, 4, 5, 6] 위는 spread operator 의 예시입니다. 전개 연산자라고도 하는데 이름 그대로 Iterable 한 배열의 프로퍼티를 펼치는 역할을 합니다. 단순 펼치는게..
ECMAScript 이 포스팅을 먼저 썼어야 했을 것 같지만.. 앞선 포스팅들에서 ES2022, TS39 Process 등에 대해 알아봤었는데 그럼 ECMAScript 는 무엇인가? 에 대해 이번 포스팅에서 다뤄보도록 하겠습니다. - ECMAScript ? Wiki 의 문구를 그대로 인용하자면, ECMAScript 란 ES 라고도 불리우며 Ecma International 이 ECMA-262 기술 규격에 따라 정의하고 있는 표준화된 스크립트 프로그래밍 언어를 뜻합니다. (링크) ECMAScript 는 Javascript 의 표준화를 위해 만들어졌습니다. 액션스크립트와 J스크립트 등의 다른 구현체도 포함하고 있다고 하며, Node.js 에서도 약간의 설정을 통해 ECMAScript 를 사용할 수 있습니다. 즉 ECMAScri..
TC39 Process ECMAScript 에 대해 보다보면 TC39 라는 용어가 나오는데 이게 무엇인지에 대해 이번 포스팅에서 살펴보도록 하겠습니다. 참고한 블로그의 링크를 같이 남겨놓도록 하겠습니다. - TC39 매년 ECMAScript 스펙이 하나의 스펙으로 릴리즈되는데, 여기엔 지난 에디션 이후로 승인된 모든 새로운 기능 혹은 변경이 포함되어 있습니다. TC39 는 the 39nth Technical Committee 의 약자로 Javascript 개발자, 학자 등으로 구성된 ECMA 멤버들을 포함한 ECMA International 이라는 조직의 산하 그룹입니다.이 위원회는 커뮤니티와 협력해 ECMAScript 스펙의 정의를 유지하고 발전시켜 나갑니다. ECMAScript 의 스펙을 변경하는 프로세스는 TC39 에 의..
ES2022 다소 (많이) 늦었지만, ES2022 에서 새로 나온 기능들 중 일부에 대해 얘기를 해보려 합니다. - ES2022 ? ES2022, ES6, ES5, ES2015 등의 용어는 자바스크립트 개발자라면 꽤 자주 봤을 것 입니다. 여기서 ES 는 ECMAScript 의 줄임말로, 국제적 표준화 기구인 Ecma International 이 ECMA-262 기술 규격에 따라 정의하고 있는 표준화된 스크립트 프로그래밍 언어를 뜻한다고 합니다. 알아둬야 할 건 자바스크립트 표준화를 위해 만들어졌다는 것 입니다. ECMAScript 에 대해선 다른 포스팅에서 좀 더 적어보도록 하겠습니다. 무튼 이 버전은 publish 되는 해에 맞춰서 네이밍 되는 것 같습니다. ES2020, ES2021, ES2022 이런 순서로 ..
package-lock.json 이란? 이번 포스팅에선 npm 6 버전부터 보이기 시작한 것 같은 package-lock.json 파일이 무엇이고 어떤 역할을 하는지에 대해 공식 문서의 도움을 받으며 알아보도록 하겠습니다. - npm npm 은 Node Package Manager 의 줄임말로 현재 Node.js 의 기본 패키지 관리자 이기도 합니다. nvm 을 사용해 node 버전을 바꾸면 위처럼 npm 버전도 맞춰서 변경되는 걸 볼 수 있습니다. 꽤 예전부터 npm 의 대항마처럼 사용되던 yarn 이나 근래 사용자가 늘고 있는 yarn-berry 등의 패키지 매니저도 있지만 아직은 npm 이 가장 널리 쓰이는 것 같습니다. 이 npm 을 사용하면서 우리는 package-lock.json 파일을 마주하게 됩니다. - What is packa..