예사로운
close
프로필 배경
프로필 로고

예사로운

  • 분류 전체보기
    • Python
      • Python
      • Django
    • Algorithms and Data Structu..
      • Algorithms
    • JavaScript
      • JavaScript
      • React
      • jQuery
    • CS
      • Web
      • HTML CSS
    • SQL
      • Oracle
    • Java
      • Java
      • JDBC
    • Git
    밀집 배열과 희소 배열

    밀집 배열과 희소 배열

    밀집 배열(dense array) 밀집 배열은 동일한 크기의 메모리 공간이 빈틈없이 연속적으로 나열된 자료구조이다. 배열의 요소는 하나의 데이터 타입으로 통일되어 있으며 서로 연속적으로 인접해 있다. 이러한 밀집 배열이 자료구조(data structure)에서 말하는 배열이다. 이러한 일반적인 의미의 배열은 각 요소가 동일한 데이터 크기를 갖고, 빈틈없이 연속적으로 이어져 있다. 그러기에 아래의 연산을 통해 단 한 번의 연산으로 임의의 요소에 접근할 수 있다. 검색 대상 요소의 메모리 주소 = 배열의 시작 메모리 주소 + 인덱스 * 요소의 바이트 수 이처럼 매유 효율적이고 고속으로 동작하는 방식을 임의 접근(random access)라고 부르며 시간 복잡도는 O(1)이다. 다만, 정렬이 되지 않은 배열에..

    • format_list_bulleted JavaScript/JavaScript
    • · 2024. 2. 26.
    • textsms
    옵셔널 체이닝(Optional Chaining)

    옵셔널 체이닝(Optional Chaining)

    객체의 프로퍼티(속성)는 점표기법을 통해 접근한다. 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..

    • format_list_bulleted JavaScript/JavaScript
    • · 2024. 2. 25.
    • textsms
    명령형 프로그래밍과 선언형 프로그래밍

    명령형 프로그래밍과 선언형 프로그래밍

    리액트 개발을 하다 보면 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;..

    • format_list_bulleted JavaScript/React
    • · 2024. 2. 12.
    • textsms
    JavaScript에서 접근자 프로퍼티와 캡슐화

    JavaScript에서 접근자 프로퍼티와 캡슐화

    JavaScript에서 접근자 프로퍼티와 캡슐화 접근자 프로퍼티: Getter와 Setter JavaScript에서 객체의 프로퍼티에는 크게 두 가지 유형이 있습니다. 데이터 프로퍼티와 접근자 프로퍼티입니다. 데이터 프로퍼티 기본적으로 변수에 값을 할당하는 것처럼 객체의 프로퍼티에 값을 저장하는 것을 '데이터 프로퍼티'라고 부릅니다. const car = { model: "Sedan", year: 2022 }; 접근자 프로퍼티 반면에, 접근자 프로퍼티는 실제 값을 갖지 않습니다. 대신, 다른 프로퍼티의 값을 읽거나 저장할 때 작동하는 get과 set 메서드를 정의합니다. const student = { _score: 90, get score() { return this._score; }, set scor..

    • format_list_bulleted JavaScript/JavaScript
    • · 2023. 10. 11.
    • textsms
    JS 문자열 비교 연산자

    JS 문자열 비교 연산자

    문자열 비교 연산자 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...

    • format_list_bulleted JavaScript/JavaScript
    • · 2023. 10. 6.
    • textsms
    호이스팅(Hoisting)

    호이스팅(Hoisting)

    호이스팅(Hoisting)의 정의 호이스팅은 JavaScript에서 변수와 함수의 선언을 현재 스코프의 최상단으로 끌어올리는 특성을 말합니다. 이는 코드 실행 전에 JavaScript 엔진이 변수와 함수의 선언을 메모리에 할당하기 때문에 발생합니다. 호이스팅의 작동 원리 JavaScript의 실행 컨텍스트는 크게 세 단계로 나뉩니다 생성 단계 (Creation Phase) 변수는 undefined로 초기화됩니다. 함수 선언은 메모리에 저장되며, 해당 스코프의 최상단으로 끌어올려집니다. 실행 단계 (Execution Phase) 코드가 줄 단위로 실행됩니다. 변수에 값이 할당되고 함수가 호출됩니다. 종료 단계 (Termination Phase) 호이스팅은 생성 단계에서 발생합니다. 예) console.lo..

    • format_list_bulleted JavaScript/JavaScript
    • · 2023. 9. 27.
    • textsms
    • navigate_before
    • 1
    • 2
    • 3
    • 4
    • navigate_next
    공지사항
    전체 카테고리
    • 분류 전체보기
      • Python
        • Python
        • Django
      • Algorithms and Data Structu..
        • Algorithms
      • JavaScript
        • JavaScript
        • React
        • jQuery
      • CS
        • Web
        • HTML CSS
      • SQL
        • Oracle
      • Java
        • Java
        • JDBC
      • Git
    최근 글
    인기 글
    최근 댓글
    태그
    • #오라클
    • #Python
    • #git
    • #oracle
    • #java
    • #HTML
    • #CSS
    • #SQL
    • #Django
    • #JavaScript
    전체 방문자
    오늘
    어제
    전체
    Copyright © 쭈미로운 생활 All rights reserved.
    Designed by JJuum

    티스토리툴바