본문 바로가기

개발/TTL10

[JS][자바스크립트] N진수변환 오늘 코테 준비를 위해서 프로그래머스 스킬 테스트를 보았다. level2 문제 중 하나로 N진수 변환에 관한 문제가 나왔다. 그 문제를 보고 내가 자바스크립트로 N진수 변환을 하는 방법을 모르고 있다는 사실을 알게 되었다. 그래서 찾아보았더니 바로 나오는데 엄청 간단했다. 그것도 자주 쓰던 parseInt와 toString 메서드에 관련되어있더라... 이걸 보고 내가 안다고 생각했던 부분들 중 부족한 게 많구나 라고 새삼 느끼게 된 점이다. const num = 5; // 10 진수로 5이다. 일반적인 숫자 5. /* N진수로 변환하기 */ const nNum = num.toString(2) // toString에 인자로 N진수의 N을 주면 변환가능했다. 2의 경우 2진수로 변환 console.log(n.. 2021. 7. 23.
[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.