본문 바로가기

STUDY/javascript4

[자바스크립트] 프로토타입 1. 프로토타입의 기본 개념자바스크립트는 프로토타입 기반 언어이다. 자바스크립트의 모든 객체는 자신의 부모 역할을 담당하는 객체와 연결되어 있다. 그리고 이것은 마치 객체 지향의 상속 개념과 같이 부모 객체의 프로퍼티 또는 메소드를 상속받아 사용할 수 있게 한다. 이러한 부모 객체를 Prototype(프로토타입) 객체 또는 줄여서 Prototype(프로토타입)이라 한다.2. 프로토타입 체인프로토타입 체인은 객체가 어떤 속성이나 메서드를 찾을 때, 그 객체가 가지고 있는지 확인하고, 없으면 프로토타입을 계속해서 탐색하는 방식이다. 이 체인을 통해 객체는 부모 객체의 속성과 메서드를 상속받아 사용할 수 있다.이 과정을 프로토타입을 상속받는 과정이라고 말한다.3. 예시프로토타입은 주로 생성자 함수나 클래스를 .. 2024. 9. 27.
[면접 질문] function Person(){}, var person = Person(), 그리고 var person = new Person()의 차이점? function Person(name) { this.name = name}var person = Person('John')console.log(person) // undefinedconsole.log(person.name) // Uncaught TypeError: Cannot read property 'name' of undefinedvar person = new Person('John')console.log(person) // Person { name: "John" }console.log(person.name) // "John" function Person(){}: 일반적인 함수 선언var person = Person(): 생성자가 아니라 Person을 함수로 호출, undefined가 반환var p.. 2024. 9. 25.
쓰로틀링(Throttling)과 디바운스(Debouncing)의 차이점 프론트엔드 개발에서는 사용자의 이벤트(스크롤, 입력 등)가 연속적으로 발생할 때, 이를 적절하게 처리하지 않으면 성능 문제로 이어질 수 있다. 이런 상황을 해결하기 위해 `쓰로틀링(Throttling)`과 `디바운스(Debouncing)`가 사용된다. 두 기법 모두 이벤트를 제한하여 성능을 최적화하지만, 동작 방식과 목적은 다르다. 1. 쓰로틀링(Throttling)이란?쓰로틀링은 특정 시간 동안 하나의 이벤트만 실행되도록 제한하는 기법이다. 이벤트가 반복적으로 발생하더라도 지정한 시간 동안 최대 한 번만 실행된다. 즉, 일정한 간격으로 이벤트를 발생시키는 것이다. 사용 사례: - 스크롤 이벤트: 사용자가 페이지를 스크롤할 때마다 이벤트가 계속해서 발생하지만, 이를 실시간으로 처리하면 성능 저하가 발생할.. 2024. 9. 24.
[자바스크립트] 원시값과 참고값 자바스크립트의 원시값과 참조값 원시값(Primitive Type)원시값은 자바스크립트에서 가장 기본적인 데이터 유형이다. 값 자체가 메모리에 저장되며 불변성(immutable)을 가진다. - 자바스크립트의 6가지 원시 타입숫자(number): 정수와 실수를 포함한다. (예: `42`, `3.14`)문자열(string): 텍스트 데이터를 의미한다. (예: `'Hello, World!'`)불리언(boolean): 참 또는 거짓 값을 나타낸다. (`true`, `false`)null: 값이 없음을 나타낸다.undefined: 값이 할당되지 않았음을 나타낸다.symbol: 유일한 식별자를 생성한다. (ES6 추가) 원시값은 변수에 직접 할당되고, 복사될 때는 그 값을 그대로 복사한다. 즉, 다른 변수에 원시값을.. 2024. 9. 20.