[JS] Js기초

javaScript 기초를 탄탄하게 다져보자

Posted by lim.Chuck on December 6, 2024

[JavaScript]

기초

  1. [JS] Js기초
  2. [JS] Js기초 변수
  3. [JS] Js기초 자료형
  4. [JS] Js기초 형변환
  5. [JS] Js기초 연산자
  6. [JS] Js기초 반복문
  7. [JS] Js기초 switch
  8. [JS] Js기초 function
  9. [JS] Js기초 객체
  10. [JS] Js기초 배열

중급

  1. [JS] Js중급 호이스팅(Hoisting)과 TDZ(Temporal Dead Zone)
  2. [JS] Js중급 생성자함수
  3. [JS] 객체 메소드(Object methods), 계산된 프로퍼티(Computed property)
  4. [JS] 심볼(Symbol)
  5. [JS] WeakMap WeakSet
  6. [JS] 숫자, 수학 method (Number, Math)
  7. [JS] 문자열 메소드(String methods)
  8. [JS] 배열 메소드(Array methods)
  9. [JS] 구조 분해 할당 (Destructuring assignment)
  10. [JS] 매개변수 리스트와 전개 문법(Rest parameters and spread syntax)
  11. [JS] 클로저(Closure)
  12. [JS] setTimeout / setInterval
  13. [JS] call / apply / bind
  14. [JS] 상속, 프로토타입(Prototype)
  15. [JS] 클래스(Class)
  16. [JS] 클로미스(Promise)
  17. [JS] 비동기 처리(Async/Await)
  18. [JS] Generator
  19. [JS] 메모리 릭(Memory Leak)

1. JavaScript란?

JavaScript는 동적 프로그래밍 언어로, 클라이언트 및 서버 측에서 모두 사용할 수 있습니다.

  • 인터프리터 언어: 컴파일 없이 실행 환경에서 바로 실행됩니다.
  • 멀티 패러다임: 객체지향, 함수형, 절차적 프로그래밍 스타일을 지원합니다.
  • 동적 타이핑: 변수의 타입을 명시하지 않고 사용할 수 있습니다.
  • 브라우저 중심: HTML/CSS와 함께 웹의 3대 핵심 기술 중 하나로, 브라우저에서 실행되며 DOM 조작, 이벤트 처리, 애니메이션 등 다양한 기능을 제공합니다.

2. JavaScript의 주요 특징

  1. 싱글 스레드 & 비동기 처리

    • 자바스크립트는 기본적으로 싱글 스레드에서 동작하지만, 비동기 작업(예: 콜백, 프로미스, async/await)을 통해 효율적으로 작업을 처리합니다.
    • 이벤트 루프와 콜 스택의 원리를 이해하면 비동기 동작 방식을 깊이 이해할 수 있습니다.
  2. 프로토타입 기반 객체지향

    • 클래스가 아닌 프로토타입 체인을 통해 객체 상속을 구현합니다.
    • 최근에는 class 문법이 추가되어 객체지향 프로그래밍이 더 쉬워졌습니다.
  3. 동적 타입 시스템

    • 변수의 타입이 실행 중에 결정됩니다. 예를 들어, 같은 변수에 문자열, 숫자 등을 자유롭게 할당할 수 있습니다.
      1
      2
      
      let variable = "string";
      variable = 42; // 문제없이 동작
      
  4. 함수 일급 객체

    • 함수가 변수에 할당되거나 다른 함수의 매개변수로 전달될 수 있습니다.
    • 클로저, 고차 함수 등의 개념이 이를 기반으로 합니다.
  5. ES6+ 이후의 변화

    • 최신 자바스크립트는 이전에 비해 문법적으로 강력하고 간결해졌습니다.
      예: let, const, 화살표 함수, async/await, 모듈 시스템(import/export) 등.

3. 기본 학습 로드맵

기초부터 탄탄히 쌓기 위해 아래 단계를 따라보는 것을 추천합니다.

  1. 기본 문법
    • 데이터 타입, 변수, 조건문, 반복문
  2. 함수와 스코프
    • 함수 선언 방식, 스코프 체인, 클로저
  3. 객체와 배열
    • 프로토타입, 배열 메서드, 객체 조작
  4. 비동기 처리
    • 콜백, 프로미스, async/await, 이벤트 루프
  5. ES6+ 최신 문법
    • 구조 분해 할당, 템플릿 리터럴, 스프레드 연산자
  6. 브라우저 환경 이해
    • DOM, 이벤트, 로컬 스토리지, API 호출