⚡유사배열이란? 유사 배열 객체(array-like object)은 length 프로퍼티를 갖는 객체로 문자열, arguments, HTMLCollection, NodeList 등은 유사 배열이다. 유사 배열 객체는 length 프로퍼티가 있으므로 순회할 수 있으며 call, apply 함수를 사용하여 배열의 메소드를 사용할 수도 있다. https://poiemaweb.com/js-type-check 너무나도 명쾌한 설명이네요 length 프로퍼티가 있고 인덱스로 접근이 가능하지만 배열은 아닌 것 근데 문자열은 알겠는데 arguments는 뭐임? 🔍arguments function func1(a, b, c) { console.log(arguments[0]); // expected output: 1 con..
⚡자바스크립트의 프로미스 프로미스는 자바스크립트 비동기 처리에 사용되는 객체입니다. 객체이기 때문에 생성자 함수를 호출하여 인스턴스화 할 수 있습니다. 자바스크립트는 특정 코드의 실행이 완료될때까지 기다리지 않고 실행할 수 있는 다음 코드를 먼저 수행하는 특성을 갖고 있기때문에 생기는 문제들이 있습니다. 프로미스는 프로미스가 생성된 시점에는 알려지지 않았을 수도 있는 값을 위한 대리자로 비동기 연산이 종료된 이후 결과 값과 실패 사유를 처리하기 위한 처리기를 연결할 수 있읍니다. 그래서 프로미스를 사용하면 비동기 메서드에서 마치 동기 메서드처럼 값을 반환할 수 있어요 자바스크립트는 비동기 처리를 위한 하나의 패턴으로 콜백 함수를 사용한다. 하지만 전통적인 콜백 패턴은 콜백 헬로 인해 가독성이 나쁘고 비동..
⚡??널병합연산자 (Nullish coalescing ) 란? 주로 || 연산자의 대용으로 사용 됩니다. ||연산자의 작동은? falsy 값일시 뒤로 넘어감 (falsy값 : 0, "", false , NaN, null , undefined) 그런데 우리가 만약 0은 그냥 표기를 하고 싶다고 가정했을때 ||연산자를 이용하게 되면 0은 falsy값이기 때문에 뒤로 넘어가버리는 문제가 있습니다. 그런 상태에서 null과 undefined만 따로 구분해서 사용하기 위해 널병합연산자를 사용합니다. 🔍Nullish 병합 연산자 '??'의 동작 // nullish 병합 연산자로 작성시 x = a ?? b // nullish 병합 연산자 없이 if문을 통해 작성 x = (a !== null && a !== undef..
코딩테스트를 준비하면서 array 관련 메서드들이나 재귀함수,이진탐색 등 알고리즘 위주로 공부를 하다보니 상대적으로 자료구조에 소홀하게 되는 것 같습니다. 그래서 그래도 조금이나마 익숙한 Map()부터 보려고요.. ES6에 도입된 문법 Map() 먼저 짚고 넘어가야할 것이 array의 메서드 중 하나인 Array.prototype.map()과 Map()은 이름만 같고 완전히 다르다는것 Map은 굳이 비교하자면 Object에 더 가깝다고 할 수 있는데 메서드가 제한적인 Object에 비해 유용한 메서드들이 많이 구현되어 있다는 특징이 있다. 그래서 object로 풀 수 있는 문제를 Map으로도 풀 수 있는 경우가 꽤 있었던걸로 기억이 나는듯 Map key - value로 이루어짐 key값을 이용해서 val..