[javascript] Lodash의 인코딩 및 디코딩 함수들과 사용 예제
Lodash는 자바스크립트 유틸리티 라이브러리로, 다양한 기능을 제공합니다. 그 중에서도 인코딩 및 디코딩과 관련된 함수들은 유용하게 사용될 수 있습니다. 이번 글에서는 Lodash에서 제공하는 인코딩 및 디코딩 함수들과 사용 예제에 대해 알아보겠습니다.
1. Lodash의 인코딩 및 디코딩 함수
1.1. _.escape(string)
_.escape()
함수는 주어진 문자열을 HTML 특수 문자로 변환하여 반환합니다. 예를 들어, <
문자는 <
로, >
문자는 >
로 변환됩니다.
const escapedString = _.escape('<div>Hello World</div>');
console.log(escapedString);
// 출력: '<div>Hello World</div>'
1.2. _.unescape(string)
_.unescape()
함수는 HTML 특수 문자로 이루어진 문자열을 원래 문자열로 변환하여 반환합니다. 예를 들어, <
는 <
로, >
는 >
로 변환됩니다.
const unescapedString = _.unescape('<div>Hello World</div>');
console.log(unescapedString);
// 출력: '<div>Hello World</div>'
1.3. _.escapeRegExp(string)
_.escapeRegExp()
함수는 정규식 패턴에서 사용되는 특수 문자들을 이스케이프하여 반환합니다. 예를 들어, .
은 \.
으로, *
은 \*
으로 변환됩니다.
const escapedRegExp = _.escapeRegExp('.*');
console.log(escapedRegExp);
// 출력: '\.\*'
2. Lodash의 인코딩 및 디코딩 함수 예제
2.1. 태그 문자열 이스케이프하기
다음 예제는 사용자로부터 입력받은 문자열을 HTML 태그로 출력하기 전에 인코딩하여 보안 문제를 방지하는 예제입니다.
const userInput = '<script>alert("Hello World");</script>';
const escapedInput = _.escape(userInput);
console.log(escapedInput);
// 출력: '<script>alert("Hello World");</script>'
2.2. URL 인코딩하기
다음 예제는 사용자로부터 입력받은 URL을 인코딩한 후, HTTP 요청을 보낼 때 사용하는 예제입니다.
const userInput = 'https://www.example.com/?q=자바스크립트';
const encodedInput = encodeURIComponent(userInput);
console.log(encodedInput);
// 출력: 'https%3A%2F%2Fwww.example.com%2F%3Fq%3D%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8'
2.3. 정규식 패턴 생성하기
다음 예제는 사용자로부터 입력받은 문자열을 정규식 패턴으로 사용하기 전에 이스케이프하는 예제입니다.
const userInput = 'Hello World. How are you?';
const escapedRegExp = _.escapeRegExp(userInput);
const regexPattern = new RegExp(escapedRegExp, 'gi');
console.log(regexPattern);
// 출력: /Hello\ World\.\ How\ are\ you\?/gi
참고자료
- Lodash 공식 사이트: https://lodash.com/
- Lodash API 문서: https://lodash.com/docs/