JavaScript 상기시키기

홍윤's avatar
Aug 29, 2024
JavaScript 상기시키기
💡

1. JavaScript의 로딩 속도와 메모리 사이즈

JavaScript의 로딩이 느릴 수 있는 이유는 다음과 같은 여러 가지 요인 때문입니다:
  • 동적 타이핑: JavaScript는 동적 타입 언어로, 변수의 타입이 실행 시간에 결정됩니다. 이는 컴파일 타임에 타입을 결정하는 정적 타입 언어보다 더 많은 런타임 검사를 요구할 수 있으며, 이는 성능에 영향을 줄 수 있습니다.
  • 객체와 메모리: JavaScript에서는 모든 객체가 레퍼런스 타입으로, 객체의 크기와 구조가 미리 정해져 있지 않습니다. 이로 인해 메모리 할당과 가비지 컬렉션(Garbage Collection)이 복잡할 수 있으며, 런타임에 메모리 관리를 동적으로 해야 하므로 성능에 영향을 미칠 수 있습니다.
  • 로딩 및 실행: JavaScript 엔진이 코드를 해석하고 실행할 때, 특히 대형 웹 애플리케이션에서는 초기 로딩 시간이 길어질 수 있습니다. 비동기 처리와 지연 로딩을 통해 성능을 개선할 수 있지만, 이는 추가적인 설계와 구현이 필요합니다.

2. JavaScript의 일급 객체 (First-Class Object)

JavaScript에서 **일급 객체 (First-Class Object)**는 다음과 같은 특성을 가집니다:
  • 변수에 저장 가능: 객체를 변수에 저장할 수 있습니다.
  • 함수의 인자로 전달 가능: 객체를 함수의 인자로 전달할 수 있습니다.
  • 함수의 반환값으로 사용 가능: 객체를 함수의 반환값으로 사용할 수 있습니다.
  • 프로퍼티를 가질 수 있음: 객체에 프로퍼티를 추가하거나 변경할 수 있습니다.
이러한 특성 덕분에 함수나 객체를 매우 유연하게 다룰 수 있습니다. 예를 들어, JavaScript에서는 함수를 변수에 저장하거나 함수의 인자로 전달할 수 있습니다.
 
 
let f = function () { //익명함수 console.log("fun2 함수"); }; f();

3. 람다식과 익스프레션

  • *람다식 (Lambda Expression)**은 익명 함수 또는 함수 리터럴로도 불리며, JavaScript에서는 주로 화살표 함수(Arrow Function)로 표현됩니다. 화살표 함수는 간결한 문법으로 함수를 정의할 수 있게 해줍니다.
let f1 = () => 1; //람다표현식 리턴이 되어야한다. function f1() { return 1; } let f2 = () => { console.log(1); }; // 람다식 function f2() { console.log(1) }
  • 익스프레션 (Expression):
    • *표현식 (Expression)**은 값을 생성하는 코드 조각입니다. 화살표 함수는 함수 표현식의 한 형태로, 함수가 하나의 표현식으로 정의될 때 사용됩니다.
javascript코드 복사 // 화살표 함수는 함수 표현식의 일종 const square = x => x * x; // 표현식

요약

  • 로딩 속도와 메모리: JavaScript의 동적 타이핑과 객체 레퍼런스 타입으로 인해 메모리 관리와 실행 속도가 영향을 받을 수 있습니다.
  • 일급 객체: JavaScript에서는 모든 객체가 일급 객체로 취급되어 변수에 저장하고, 인자로 전달하고, 반환할 수 있습니다.
  • 람다식 (화살표 함수): JavaScript에서 람다식은 화살표 함수로 표현되며, 간결한 문법을 제공합니다. 화살표 함수는 표현식으로 취급됩니다.
이러한 개념들은 JavaScript의 유연성과 강력함을 제공하며, 함수형 프로그래밍을 지원하는 데 중요한 역할을 합니다.
 

 
 
 
 
 
Share article

Uni