Notice
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- jest
- lightsail nodejs apache
- this
- 클로저
- url #querystring
- ESLint
- TypeScript
- git pair
- #cloudfront #s3 #html 확장자 없애기
- 기후변화
- 객체참조 #객체
- OOP
- NPM
Archives
- Today
- Total
Hello World...
parseJSON ascii 활용 코딩 본문
parseJSON 이라는 고난도 재귀 문제. 하루 이틀 가지고는 풀기 어려운 문제다 😣
거의 테스트 통과에 근접했다고 믿고 싶지만 (ㅎㅎ)
어쨌든 다른 수강생분의 코드를 참고해서 완료하였다.(정말 대단하신...)
그래도 문자열 이스케이핑 처리 부분은 머리를 짜내 나름대로 열심히 코딩하였다.
const str = '["\\n"]';
>> "\n"
위 str 을 JSON.parse(str) 을 하면 어떻게 될까?
개행 문자가 배열 안에 있다.
단순히 백슬래쉬라는 문자와 n 이라는 문자의 조합이 아닌 이스케이프 문자다.
['\\n']
\\ => '\' + 'n'
이런 형식으로 배열 안에 넣으면 단순 문자열로 취급된다.
어떻게 해야 하나 고민하다 예전에 아스키 코드를 사용했던 기억을 떠올려 객체를 만들었다.
const ascii = String.fromCharCode;
const escapeChar = {
n: ascii(10),
t: ascii(9),
b: ascii(8),
f: ascii(12),
r: ascii(13),
'\\': ascii(92),
"'": ascii(39),
'"': ascii(34)
};
String.fromCharCode(65) === 'A'
백슬래쉬 다음에 오는 문자가 이스케이프에 해당되는 문자라면 위에 객체에 맞게 값을 찾는다.
'javascript' 카테고리의 다른 글
자바스크립트 CLASS (0) | 2020.01.03 |
---|---|
자바스크립트 객체 참조 (0) | 2020.01.02 |
클로저 객체 메소드 (0) | 2020.01.01 |
OOP 객체지향, JS 객체 생성, 프로토타입 (0) | 2019.12.28 |
자바스크립트 this 5가지 패턴 (0) | 2019.12.27 |
Comments