[JS] 자바스크립트의 배열(Array)은 배열이 아니다.
·
Learning-Log/Computer Science
arr['a'] = 1; 위 코드가 먹힌다는 사실이 제목을 설명해준다. 자바스크립트의 배열은 엄밀히 말해서 배열이 아니다. 바로 객체이다. 아주아주 엄밀히 말하자면, 'JS의 배열은 희소 배열이기 때문에, 일반적으로 의미하는 밀집 배열이 아니다' 라고 말할 수 있겠다. 밀집 배열(협의의 배열)이란, 메모리 공간이 동일한 한 가지 자료형으로만 구성되어 자료가 서로 연속하여 나열된 자료구조이다. 희소 배열(광의의 배열)이란, 하나 이상의 자료형을 허락하는 배열이여서 한 자료가 차지하는 메모리 공간이 불규칙할 수 있고, 그 때문에 서로 연속적으로 나열되어 있지 않을 수도 있는 자료구조이다. 여담이지만, JS 배열은 희소 배열이기 때문에 배열 요소를 인덱스로 접근하려는 경우 밀집 배열인 다른 언어에 비해 상대적..
[JS/Array] 배열 Method 및 배열 고차 함수 정리
·
Learning-Log/Computer Science
분류 mutator : 호출한 원본 배열을 직접 변경함 accessor : 원본 배열을 직접 변경하지 않고 새로운 배열을 반환함. 배열 Method Array.prototype 분류 내용 반환값 비고 .indexOf accessor 인수가 몇 번째 순서인지 검색 첫 번째 검색 일치 결과의 인덱스를 반환 검색 불일치시 -1 을 반환 인수의 존재확인시에는 includes를 쓸 것 .push mutator 인수를 마지막 요소로 추가 length 속성 값을 반환 하나만 추가한다면 arr[arr.length]로 직접 추가하자 mutate가 싫다면 스프레드 문법을 쓸 것 .pop mutator 마지막 요소를 제거 제거한 요소를 반환 .unshift mutator 인수를 첫 요소로 추가 length 속성 값을 반환 ..
[JS/반복문] 반복문 및 반복문을 대체할 수 있는 기능 6가지 총 정리 : for 문, while 문, do ... while 문, forEach 메서드, for ... in 문, for ... of 문
·
Learning-Log/Computer Science
반복문 3가지 : for 문, while 문, do ... while 문 for 문 for (변수선언문;반복조건식;변수변형식){ 반복 조건식이 참인 경우 실행될 문; } 반복조건식이 참이라면, 코드블록을 실행한 뒤 변수변형식에 따라 선언된 변수를 변형시키는 제어문이다. users = ['가영','나영','다영','라영','마영'] for (i = 0; i
[JS/함수] 함수의 유형 (1) - 즉시 실행 함수
·
Learning-Log/Computer Science
오늘은 즉시 실행 함수, 재귀 함수, 중첩 함수, 콜백 함수, 순수 함수, 비순수 함수 중 즉시 실행 함수에 대해 정리해보겠다. 1. 즉시 실행 함수(IIFE, Immediately Invoked Function Expression)의 정의와 특징 즉시 실행 함수란, 함수 정의과 동시에 호출되어 실행되는 함수를 말하며, 단 한 번만 호출 할 수 있다. 따라서 보통 익명 함수로 많이 정의하여 활용한다. 어차피 기명으로 함수를 사용하더라도 재호출이 불가능하기 때문이다. 이름 짓기가 얼마나 귀찮은 일인가... Simple is best. 2. 표현 즉시 실행 함수는 그룹 연산자로 감싸서 표현하는 것이 일반적이다. 즉, 괄호()로 감싸줘야한다. (function () { const a = 1; const b =..