목록전체 글 (126)
코딩쌀롱
📌 String to Number ( typeof NaN === 'number' → true의 문제 ) // 숫자, [, ] → 이것들만 골라내기 위해 만든 함수 // (boolean값 반환 - 다른 함수에서 filter로 걸러서 배열 만듦) braceNumFilter(item) { return item === '[' || item === ']' || (typeof parseInt(item) === 'number' && isFinite(parseInt(item)) ); } 배열 안에 string 자료형인 숫자 거르기! 1. typeof item === 'number' 처음에 자료형이 string인 거 생각 못하고 이렇게 함. 2. typeof (item * 1) === 'number' typeof Num..
📌 Parsing 언어학에서 파싱(parsing)은 '구문 분석'이라고 부른다. 문장을 구성 성분으로 분해하고 그들 사이의 위계 관계를 분석해 문장 구조를 결정하는 것. CS에서는 일련의 문자열을 의미있는 토큰 단위로 분해하고 이를 parse tree로 변환하는 과정을 말한다. 파서(Parser)는 이러한 파싱을 수행하는 프로그램. 세부적으로 나눈다면, tokenizer lexer parser tokenizer는 input을 알맞은 토큰 단위로 나눠주고, lexer는 나눠진 토큰들을 분석해 문맥적 의미를 부여한다. parser는 분석된 token들을 문법적으로 검사하고, parse tree로 만들어준다. 📌 구조 분해 할당 구조 분해 할당(destructuring). 비구조화라고도 함. 배열이나 객체의 ..
객체: 키가 있는 컬렉션을 저장 배열: 순서가 있는 컬렉션을 저장 ➔ 두 자료구조만으로 부족해서 Map과 Set이 등장. ✏️Map Map은 key가 있는 데이터를 저장한다는 점에서 객체와 유사. 하지만 Map은 key에 다양한 자료형을 허용한다는 점에서 다름. 맵은 키로 객체도 허용한다! (NaN도 허용) let john = {name: "John"}; let visitsCountMap = new Map(); // 고객의 방문 횟수를 세본다고 가정 visitsCountMap.set(john, 123); // john 객체를 맵의 키로 사용 alert(visitsCountMap.get(john)); // 123 📌 Map 메서드, 프로퍼티 new Map() 새로운 맵을 만듦 map.set(key, val..