본문 바로가기

JavaScript8

[JS][자바스크립트]JSON 1. https://ko.javascript.info/json JSON과 메서드 ko.javascript.info JSON은 자바스크립트 객체 표기법이라는 포맷이다. 통신을 통해서 객체 자료형을 전송해야 할 때 객체 상태로 전송을 할 수 없어서 원시 자료형인 문자열로 변경을 해야 한다. 이 과정에서 주로 사용되는 포맷 중 하나이다. JSON.stringify 메서드와 JSON.parse 메서드로 인코딩 하고 디코딩한다. stringify 메서드로 인코딩이 가능한 자료형은 객체, 배열(역시 컬렉션), 문자와 숫자, 불린 값, null이 가능하고, 함수, 심볼, undefined 들은 인코딩이 불가능하다. 또 순환 참조가 있는 부분 역시 인코딩이 불가능하다. stringify 메서드는 자동으로 인코딩할 자료.. 2021. 7. 27.
[JS][자바스크립트]워크맵과 워크셋 1. 위크맵과 위크셋 (javascript.info) 위크맵과 위크셋 ko.javascript.info 가비지컬렉션에서는 맵이나 셋의 키로 사용된 객체의 경우 해당 맵이나 셋이 존재할시 메모리에서 해제 되지 않는다. 위크맵은 키로 객체만을 사용 가능한 맵이다. GC에 관한 문제로 기본적인 이터러블 메서드를 제공하지 않는다. 부가적인 데이터나 캐싱등의 기능을 개발할때 따로 관리 할 필요가 없어서 유용한 편이다. 위크셋은 위크맵과 마찬가지로 객체만 저장 가능한 셋이다. 마찬가지로 이터러블 메서드를 제공하지 않는다. 그 외는 같다. # 사용법 1. new WeakMap(); new WeakSet(); 생성한다. 2. 이터러블 관련된 메서드인 엔트리, 벨류, 키를 지원하지 않는다. 3. 특정 객체에 대한 추가적.. 2021. 7. 5.
[JS][자바스크립트]맵과 셋 1. 맵과 셋 (javascript.info) 맵과 셋 ko.javascript.info Map은 객체와 유사한 성격을 가진다. 객체와 다른점은 여러가지 전용 메소드들과 객체키와 NaN키를 허용한다는 점과 따로 설정없이 이터러블 속성을 가진다는 점과 keys, value, entries, forEach 내장 메서드를 기본 지원 하고 있다. 그리고 삽입 순서를 기억한다. 등가비교에는 SameValueZero(수정불가) 알고리즘을 사용한다. Set은 중복을 허용하지 않는 이터러블 객체이다. Set에는 키가 없는 값이 저장된다. 삽입 순서를 기억하고, 키에 제한이 없는 Map과, 중복을 제거하는데 유용한 Set 물론 Set도 삽입순서를 기억한다. 일반적인 객체나 배열을 사용하는 것과 비교해서 특정 사항에서 해.. 2021. 7. 1.
[JS][자바스크립트] iterable 객체 1. iterable 객체 (javascript.info) iterable 객체 ko.javascript.info 이터러블(반복가능한) 객체는 배열을 일반화한 객체이다. for..of문을 통해서 반복 할 수 있어야한다. for..of문은 Symbol.iterator 시스템 심볼을 호출하기에 객체에 해당 심볼이 존재해야지 for..of문을 실행 할 수 있다. 이터러블 객체는 유사배열 객체와 다르다. 다만 이터러블과 유사배열이라는 속성은 동시에 적용 될 수 있다. 이터러블 객체의 핵심은 관심사 분리에 있다. 즉 객체와 이터러블을 분리 할 수 있다는 것. 그 외에도 반복을 조금 더 확실히 통제할 수 있다거나 반복 자체에 직접적인 개입이 가능하다는게 장점으로 보인다. 이터러블이나 유사배열 객체를 배열로 만들어주.. 2021. 6. 30.