📖 TIL/Node.js

[Node.js] 라이브러리 lodash

성란 2022. 3. 29. 19:41

 lodash가 뭔데?

자바스크립트의 라이브러리 중 하나로 array, collection, date 등 데이터의 필수적인 구조를 쉽게 다룰 수 있게끔 하는데에 사용된다고 한다.

함수형태로 미리 만들어둔 것들을 필요할때마다 꺼내쓸 수 있는데 lodash 라이브러리도 그러한 형태이다.

이러한 라이브러리를 사용하는 이유는 설치를 통해 편리하게 함수를 이용할 수 있고, 성능이 좋은 다양한 메소드를 활용할 수 있어 코드를 짜는데 수월하기 때문에 사용하기도 한다.

 어떻게 쓰는데?

터미널을 열어서 간단하게 명령어를 입력하면 된다.

 

## 터미널

yarn add lodash

명령어로 lodash를 설치했으면 이제 내 파일과 연결을 해주어야 한다.

 

// 내파일.js

import _ from 'lodash';

js파일 제일 상단에 import를 함으로써 이제 라이브러리에서 제공하는 편리한 기능들을 우리가 사용할 수 있다.

글쓴이가 사용해본 기능은 포스팅에 수시로 추가해서 풀어보겠다.

 _.cloneDeep()

깊은 복사를 할 수 있게하는 함수. 깊은 복사를 할 수 있는 방법으로는 JSON.parse를 사용할 수 있는데 이게 조금 성능이 느리다 보니 이 함수를 사용해서 좀더 수월하고 좋게 라이브러리에서 꺼내 쓸 수 있다.

 

 

 자바스크립트 깊은 복사

// 객체의 깊은 복사 방법
let profile = {
	 name: 'a',
	 age: 13,
	 hobby: {
	 	hobby1: 'b',
	 	hobby2: 'c'
	 }
}

let profile2 = JSON.parse(JSON.stringify(profile)); // 깊은 복사

깊은 복사의 방법으로 JSON.parse를 쓸 수 있는데, 과정을 하나씩 살펴보자면 다음과 같다.

  • JSON.stringify() : 이 메소드는 ()의 값(객체나 값)을 JSON 문자열로 변환
  • JSON.parse() : JSON 문자열의 구문을 분석하고 객체로 반환한다.

즉 이렇게 된다. JSON.stringify를 통해 profile을 JSON 문자열로 만들고, 그 만든 문자열을 JSON.parse()를 통해 다시 객체로 바꾸는 작업이 진행되는 것이다. 딱봐도 무겁고 오래걸릴것 같은 작업인데 lodash 라이브러리를 사용하면 성능 빠르게 처리 할 수 있다.

 lodash의 cloneDeep()

// lodash의 라이브러리
let profile = {
	 name: 'a',
	 age: 13,
	 hobby: {
	 	hobby1: 'b',
	 	hobby2: 'c'
	 }
}

let profile2 = _.cloneDeep(profile);

문장도 간결해지고 같은 출력값을 내고 있으며 더 무거운 작업을 처리할때 성능도 좋다.

 


참조 : https://velog.io/@kysung95/%EC%A7%A4%EB%A7%89%EA%B8%80-lodash-%EC%95%8C%EA%B3%A0-%EC%93%B0%EC%9E%90

 

[개발상식] lodash 알고 쓰자.

안녕하세요. 김용성입니다. 오늘은 lodash에 대해 포스팅해보도록 하겠습니다.

velog.io

참조 : https://lodash.com/

 

Lodash

_.defaults({ 'a': 1 }, { 'a': 3, 'b': 2 });_.partition([1, 2, 3, 4], n => n % 2);DownloadLodash is released under the MIT license & supports modern environments. Review the build differences & pick one that’s right for you.InstallationIn

lodash.com