자바스크립트 13

JavaScript - 자바스크립트란 전부 객체다

자바스크립트 deep dive 책을 읽으면서 자바스크립트란 전부 객체다 라는 말을 보고 한번 정리할 필요가 있을거 같아서 적어본다.이 말은 단순히 멋있는 철학처럼 들릴 수도 있지만, 실제로 자바스크립트의 동작 방식을 이해하면 진짜 이 말이 무슨 뜻인지 깨닫게 된다.그럼, 어떤 의미인지 살펴보자. 원시 타입도 객체처럼 동작한다자바스크립트에서 기본 데이터 타입인 원시 타입(Primitive Type)은 다음과 같다:String (문자열)Number (숫자)Boolean (참/거짓)BigInt (큰 정수)Symbol (유일한 값)undefinednull이 데이터 타입들은 원래 값(primitive)으로 동작하지만, 필요할 때는 객체처럼 행동할 수 있다.왜냐하면 자바스크립트는 원시 타입에 객체의 메서드와 프로퍼..

JavaScript 2024.11.25

JavaScript - 디자인 패턴

디자인 패턴이란?디자인 패턴(Design Pattern)은 소프트웨어 설계에서 자주 발생하는 문제들을 해결하기 위한 일반적인 해결책이다. 즉, 특정 문제 상황에서 재사용할 수 있는 코드 구조나 설계 방법을 말한다. 디자인 패턴은 코드를 구조화하고 유지보수를 쉽게 하며, 프로그램의 확장성을 높이는 데 도움을 준다. 자주 사용되는 해결책들을 패턴화하여, 개발자가 비슷한 상황에 직면했을 때 효율적으로 문제를 해결할 수 있게 도와준다. 디자인 패턴의 종류:생성 패턴: 객체 생성과 관련된 패턴구조 패턴: 클래스와 객체 사이의 관계를 정의하는 패턴행위 패턴: 객체 간의 상호작용을 정의하는 패턴 디자인 패턴은 어떤 상황에 사용될까?디자인 패턴은 반복적인 문제나 유사한 설계 요구가 있을 때 적용된다. 예를 들어, 효율..

JavaScript 2024.09.22

JavaScript - 자바스크립트란 무엇인가? (심화편-3 객체, 프로토타입 등 )

자바스크립트는 객체지향적 성격과 함수형 프로그래밍의 요소를 모두 담고 있는 언어다. 이러한 특징을 이해하려면 자바스크립트의 객체, 프로토타입 기반 상속, 클래스, 그리고 비동기 처리의 작동 방식을 잘 알아야 한다. 이 포스트에서는 객체, 프로토타입, 클래스 기반 객체지향 프로그래밍, 비동기 처리, 이터러블, 이벤트의 핵심 개념들을 통합적으로 설명해보겠다. 객체와 인스턴스: 객체지향의 출발점객체는 자바스크립트에서 데이터와 함수의 집합으로, 프로퍼티(속성)와 메서드(동작)를 포함하는 독립적인 엔티티다. 객체는 단순한 키-값 쌍으로 표현될 수 있으며, 함수처럼 더 복잡한 구조를 가질 수도 있다. 객체가 생성자 함수나 클래스를 통해 만들어진 경우, 그 결과로 생성된 개별 객체를 인스턴스라고 부른다.   프로토타..

JavaScript 2024.09.22

JavaScript - 자바스크립트란 무엇인가? (심화편-2, 컨텍스트, 함수 등)

자바스크립트의 함수와 실행 컨텍스트: 핵심 개념들자바스크립트에서 함수는 매우 중요한 개념이다. 함수는 코드의 재사용성을 높이고, 복잡한 작업을 단순하게 처리할 수 있도록 도와준다. 자바스크립트는 고유의 실행 방식과 스코프 개념을 가지고 있어서, 함수의 동작을 제대로 이해하는 것이 매우 중요하다. 이번 포스트에서는 함수의 개념에서부터 실행 컨텍스트, 스코프, 클로저까지 핵심적인 자바스크립트 개념들을 통합적으로 설명하겠다. 함수란 무엇일까?함수는 특정 작업을 수행하거나 값을 계산하는 코드의 모음이다. 자바스크립트에서는 함수가 **일급 객체(First-Class Object)**로 취급되기 때문에, 값처럼 다룰 수 있다. 즉, 함수를 변수에 할당하거나, 다른 함수의 인자로 전달하거나, 함수에서 반환할 수 있다..

JavaScript 2024.09.22

JavaScript - 자바스크립트란 무엇인가? (심화편-1 타입, 변수 등)

자바스크립트의 타입과 깊은 개념들자바스크립트는 동적 타입(dynamic typing)을 사용하는 언어로, 변수에 다양한 타입의 값을 할당할 수 있다. 이를 이해하면 자바스크립트의 독특한 동작과 그 안에서 발생할 수 있는 문제들을 해결하는 데 중요한 개념들을 파악할 수 있다. 이번 포스트에서는 자바스크립트의 타입과 관련된 여러 개념들을 하나의 흐름으로 살펴보자. 자바스크립트의 타입자바스크립트의 데이터 타입은 크게 두 가지로 나눌 수 있다: **기본형(Primitive Type)**과 **참조형(Reference Type)**이다.기본형(Primitive Type):Number: 숫자를 표현하는 타입이다. 자바스크립트에서는 정수와 실수를 구분하지 않고 모두 Number로 취급한다.String: 문자열을 나타..

JavaScript 2024.09.22

JavaScript - 자바스크립트란 무엇인가? (기본편)

자바스크립트(JavaScript)는 웹 개발에서 주로 사용되는 프로그래밍 언어로, 동적이고 상호작용이 가능한 웹 페이지를 만들기 위해 사용된다. 자바스크립트는 클라이언트 측에서 실행되는 언어로 시작했지만, 현재는 서버 측에서도 Node.js와 같은 환경에서 사용될 수 있어, 프론트엔드와 백엔드를 모두 다룰 수 있는 다재다능한 언어로 자리 잡았다.자바스크립트는 ECMAScript 표준에 기반을 두고 있으며, 객체 지향(OOP), 함수형 프로그래밍(FP) 및 이벤트 기반 프로그래밍을 지원하는 멀티 패러다임 언어이다. 이러한 특성 덕분에 자바스크립트는 간단한 스크립트부터 대규모 애플리케이션까지 다양한 개발 환경에 적합하다.자바스크립트는 HTML, CSS와 함께 웹의 3대 구성 요소 중 하나로, HTML은 구조..

JavaScript 2024.09.22

JavaScript - 코어 자바스트립트 정리 (4~7장, 콜백함수,클로저,프로토타입,클래스)

1. 콜백 함수 (Callback Function)콜백 함수란 다른 함수의 인자로 전달되어, 그 함수 내부에서 호출되는 함수를 의미한다. 주로 비동기 처리나 이벤트 기반 프로그래밍에서 자주 사용되며, 코드의 실행 흐름을 제어하는 데 유용하다.function fetchData(callback) { // 데이터를 가져오는 비동기 작업 (예: 서버 요청) setTimeout(function() { let data = "Fetched Data"; callback(data); // 작업 완료 후 콜백 함수 호출 }, 1000);}function displayData(data) { console.log("Data: " + data);}fetchData(displayD..

JavaScript 2024.09.22

JavaScript - 코어 자바스트립트 정리 (1~3장, 데이터 타입& 실행 컨텍스트& this)

기본을 다시 다지는 의미로 코어 자바스트립트책을 읽고 정리해보았다.  이미 대부분 아는 내용이라 복습하는 느낌으로 간단하게 적어보았다. 디테일한 상세 설명은 다른글을 참고! 아래부터는 1장부터 3장까지의 내용이다.1. 변수와 데이터 타입변수변수는 데이터를 저장하는 공간이다. 자바스크립트에서는 변수 선언을 위해 var, let, const를 사용한다. 각 키워드는 다음과 같은 차이점을 가진다.var: 함수 스코프를 갖고, 중복 선언이 가능하다. 하지만 블록 스코프를 무시하기 때문에 예기치 않은 문제를 일으킬 수 있다.let: 블록 스코프를 가진다. 같은 스코프 내에서 중복 선언이 불가능하고, 선언되기 전에는 사용할 수 없다(Temporal Dead Zone).const: 상수를 선언하는데 사용된다. 값이 ..

JavaScript 2024.09.19

JavaScript - 자바스크립트 메모리 관리와 객체 참조 모델

자바스크립트는 동적 언어이기 때문에 변수의 할당과 해제가 자동으로 이루어진다. 자바스크립트는 가비지 컬렉터(Garbage Collector)가 자동으로 메모리를 관리하지만, 기본적인 개념을 이해하고 최적화하면 더 나은 성능을 유지할 수 있다.  1. 자바스크립트 메모리 관리의 기본 개념자바스크립트의 메모리 관리는 크게 아래에 과정으로 나눌 수 있다:메모리 할당: 프로그램이 데이터를 생성하거나 객체를 생성할 때 메모리를 할당받는 과정이다.메모리 사용: 메모리 사용은 변수나 객체를 참조할 때 발생한다.메모리 회수: 더 이상 필요하지 않은 메모리를 자동으로 회수하는 과정이다. 이를 가비지 컬렉션(Garbage Collection)이라고 한다.프로그래머가 직접 메모리 해제를 명시적으로 처리하는 언어(C, C++..

JavaScript 2024.09.17

Jest를 사용한 JavaScript Test - 기본

Jest는 Facebook에서 개발한 JavaScript 테스트 프레임워크로, JavaScript 애플리케이션의 품질을 유지하고 개선하는 데 도움이 된다. 자 이제 한번 사용방법을 알아보자. 1. Jest 설치npm install --save-dev jest 2. 테스트 파일 생성Jest 테스트 파일은 일반적으로 .test.js 또는 .spec.js 확장자를 사용// example.test.jstest('adds 1 + 2 to equal 3', () => { expect(1 + 2).toBe(3);}); 3. 테스트 실행npx jest 4. 테스트 작성test('2와 2는 같아야 합니다', () => { expect(2).toBe(2);});test('3과 5는 같지 않아야 합니다', () => {..

JavaScript 2023.10.19
반응형