밀집 배열(dense array) 밀집 배열은 동일한 크기의 메모리 공간이 빈틈없이 연속적으로 나열된 자료구조이다. 배열의 요소는 하나의 데이터 타입으로 통일되어 있으며 서로 연속적으로 인접해 있다. 이러한 밀집 배열이 자료구조(data structure)에서 말하는 배열이다. 이러한 일반적인 의미의 배열은 각 요소가 동일한 데이터 크기를 갖고, 빈틈없이 연속적으로 이어져 있다. 그러기에 아래의 연산을 통해 단 한 번의 연산으로 임의의 요소에 접근할 수 있다. 검색 대상 요소의 메모리 주소 = 배열의 시작 메모리 주소 + 인덱스 * 요소의 바이트 수 이처럼 매유 효율적이고 고속으로 동작하는 방식을 임의 접근(random access)라고 부르며 시간 복잡도는 O(1)이다. 다만, 정렬이 되지 않은 배열에..
객체의 프로퍼티(속성)는 점표기법을 통해 접근한다. const adventurer = { name: 'Alice', cat: { name: 'Dinah', }, }; const catName = adventurer.cat.name; console.log(catName); // Dinah 다만, 이렇게 중첩된 객체를 다룰 때 조심해야 할 부분이 있다. const adventurer = { name: 'Jake', }; const catName = adventurer.cat.name; console.log(catName); 이렇게 cat 프로퍼티를 가지고 있지 않은 adventurer은 cat 프로퍼티가 undefined이므로 adventurer.cat.name에 접근하면 에러가 발생한다. 그래서 catNa..
리액트 개발을 하다 보면 for 문이나 while 문보다는 Array 객체의 메서드(map, reduce, filter)를 더 자주 사용한다. 이러한 방식을 선언형 프로그래밍(Declarative Programming)이라고 하며 리액트 개발에서는 선언형 프로그래밍 방식이 더 선호된다. 그리고 이와 대비되는 개념은 명령형 프로그래밍(Imperative Programming)이라 한다. 반복문에서의 명령형 프로그래밍과 선언형 프로그래밍 명령형 프로그래밍 명령형 프로그래밍(Imperative Programming)은 기존에 일반적으로 사용되는 프로그래밍 방식이다. const numbers = [1, 2, 3, 4, 5]; let sum = 0; // numbers 배열의 짝수 합 for (let i = 0;..
JavaScript에서 접근자 프로퍼티와 캡슐화 접근자 프로퍼티: Getter와 Setter JavaScript에서 객체의 프로퍼티에는 크게 두 가지 유형이 있습니다. 데이터 프로퍼티와 접근자 프로퍼티입니다. 데이터 프로퍼티 기본적으로 변수에 값을 할당하는 것처럼 객체의 프로퍼티에 값을 저장하는 것을 '데이터 프로퍼티'라고 부릅니다. const car = { model: "Sedan", year: 2022 }; 접근자 프로퍼티 반면에, 접근자 프로퍼티는 실제 값을 갖지 않습니다. 대신, 다른 프로퍼티의 값을 읽거나 저장할 때 작동하는 get과 set 메서드를 정의합니다. const student = { _score: 90, get score() { return this._score; }, set scor..
문자열 비교 연산자 javaScript에서 문자열을 비교할 때는 ASCII 코드의 순서로 비교됩니다. 예 알파벳 비교 Copy code console.log('apple' 'banana'); // false 대소문자 대문자 ASCII 코드 값이 소문자보다 작습니다. Copy code console.log('Apple' 'apple'); // false 숫자형 문자열 숫자로 구성된 문자열도 사전식으로 비교됩니다. Copy code console.log('2' > '12'); // true, 문자열로서 '2'는 '12'보다 사전식으로 뒤에 옴 console...
호이스팅(Hoisting)의 정의 호이스팅은 JavaScript에서 변수와 함수의 선언을 현재 스코프의 최상단으로 끌어올리는 특성을 말합니다. 이는 코드 실행 전에 JavaScript 엔진이 변수와 함수의 선언을 메모리에 할당하기 때문에 발생합니다. 호이스팅의 작동 원리 JavaScript의 실행 컨텍스트는 크게 세 단계로 나뉩니다 생성 단계 (Creation Phase) 변수는 undefined로 초기화됩니다. 함수 선언은 메모리에 저장되며, 해당 스코프의 최상단으로 끌어올려집니다. 실행 단계 (Execution Phase) 코드가 줄 단위로 실행됩니다. 변수에 값이 할당되고 함수가 호출됩니다. 종료 단계 (Termination Phase) 호이스팅은 생성 단계에서 발생합니다. 예) console.lo..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.