개발로그
close
프로필 배경
프로필 로고

개발로그

  • 분류 전체보기 (511)
    • JAVA (68)
      • 자바소개 (4)
      • 자바 기본 문법 (22)
      • 객체 지향 프로그래밍 (15)
      • 예외 처리 (9)
      • 스레드 (18)
    • Databases (14)
      • JDBC (13)
      • Hibernate ORM (1)
    • GIT (39)
      • 시작하기 (5)
      • GIT의 기초 (7)
      • Git 브랜치 (6)
      • Git 서버 (7)
      • Git 분산 환경 (6)
      • Git 도구 (8)
    • 알고리즘 (41)
      • 자료구조 (24)
      • 검색 알고리즘 (0)
      • 초급 알고리즘 (17)
      • 중급 알고리즘 (0)
      • 고급 알고리즘 (0)
    • 코딩문제 (35)
    • D3 (47)
      • D3 소개 (2)
      • 시각화 (45)
    • Docker (30)
    • Kubernetes(K8S) (2)
    • 도구 (39)
      • 프리미어프로 (39)
    • 브라우저 (32)
    • JavaScript (79)
    • TypeScript (38)
    • REACT (13)
      • 리액트 학습하기 (13)
      • 리액트 API (0)
      • 리액트 DOM API (0)
    • React Native (19)
    • Electron (15)
    • 인증 (0)
  • 홈
  • 태그
  • 방명록
[JavaScript] 함수 커링

[JavaScript] 함수 커링

함수 커링이란함수 커링은 여러 인수를 한 번에 받는 함수를, 인수를 하나씩 순차적으로 받아 처리하는 함수들의 연쇄로 변환하는 기법입니다. 즉,f(a, b, c)를 f(a)(b)(c)와 같이 변환하는 것이 바로 커링입니다. 커링을 활용하면 부분 적용 (partial application) 이 가능해져, 일부 인수를 미리 고정한 새로운 함수를 쉽게 만들 수 있습니다.커링의 장점코드 재사용성 증가커링을 통해 기존 함수에서 특수화된 새 함수를 만들어 함수 재사용성을 높일 수 있습니다.코드 가독성 증가단순 이진 함수 커링하기// 이진 함수 (두 개의 인수를 받는 함수)를 커링합니다.function curryBinary(fn) { return function(a) { return function(b) { ..

  • format_list_bulleted JavaScript
  • · 2025. 2. 19.
  • textsms
[JavaScript] 내장 함수 eval

[JavaScript] 내장 함수 eval

eval의 기본 사용법eval은 전달된 문자열을 실행한 후, 마지막 표현식의 결과를 반환합니다.let result = eval('2 + 3 * 4');console.log(result); // 14위의 예에서 eval() 함수는 문자열 '2 + 3 * 4'를 JavaScript 코드로 평가하고 결과를 result 변수에 할당합니다.여러 줄의 코드도 실행할 수 있습니다let output = eval(` let x = 10; let y = 20; x + y;`);console.log(output); // 출력: 30문자열 내부에 포함된 코드가 현재의 렉시컬 환경에서 실행되므로, 외부 변수에 접근하거나 수정할 수 있습니다.eval의 렉시컬 환경eval은 기본적으로 현재 실행 중인 환경(스코프)에서 코드를..

  • format_list_bulleted JavaScript
  • · 2025. 2. 19.
  • textsms
[JavaScript] Proxy를 활용한 객체 동작 제어

[JavaScript] Proxy를 활용한 객체 동작 제어

Proxy 기본 문법JavaScript Proxy는 원본 객체에 대한 중개자 또는 래퍼 역할을 하는 특수 객체로, 대상 객체라고 합니다.Proxy는 두 개의 인수를 받습니다.target: 실제 동작을 수행할 원본 객체 (함수도 가능합니다).handler: target에 가해지는 작업을 가로채는 트랩 메서드들을 포함하는 객체입니다.const proxy = new Proxy(target, handler);handler 빈 객체 제공 Proxy빈 hanlder를 통해서 생성되었으므로 proxy를 통해 수행된 작업은 기본 동작을 변경하지 않고 target 객체에 직접 전달됩니다.const target = { message: "Hello, Proxy!" };const proxy = new Proxy(target,..

  • format_list_bulleted JavaScript
  • · 2025. 2. 19.
  • textsms
[JavaScript] 동적 모듈 가져오기

[JavaScript] 동적 모듈 가져오기

import() 표현식의 기본 개념정적 import 문을 사용하는 기존의 정적 가져오기와 달리 동적 가져오기는 import() 표현식을 활용하여 런타임에 모듈을 비동기적으로 로드합니다. 이 표현식은 함수 호출과 유사한 문법을 가지지만, 실제 함수 호출이 아니라 특별한 문법입니다.import(moduleSpecifier)는 모듈을 로드하고, 모듈의 모든 내보내진 기능이 담긴 객체를 반환하는 프라미스를 생성합니다.// math.jsexport function add(a, b) { return a + b;}export function subtract(a, b) { return a - b;}export default function multiply(a, b) { return a * b;}이제 main.js..

  • format_list_bulleted JavaScript
  • · 2025. 2. 19.
  • textsms
[JavaScript] 모듈 내보내기 및 가져오기

[JavaScript] 모듈 내보내기 및 가져오기

모듈 다양하게 내보내기선언부에 직접 export 사용하기함수, 클래스, 변수 선언 앞에 export를 붙이면 해당 선언이 바로 외부에 공개됩니다.// mathUtils.jsexport function add(a, b) { return a + b;}export const PI = 3.1415926535;export class Calculator { constructor() { this.value = 0; } add(num) { this.value += num; return this.value; }}선언 후 export 하기함수를 먼저 선언한 후, 마지막에 export 구문으로 내보낼 수도 있습니다.// stringUtils.jsfunction capitalize(str) { re..

  • format_list_bulleted JavaScript
  • · 2025. 2. 19.
  • textsms
[JavaScript] 모듈 시스템

[JavaScript] 모듈 시스템

모듈이란 무엇인가?모듈은 독립형 파일이며, 내부에 클래스, 함수, 변수 등 특정한 기능을 수행하는 코드 조각들을 포함합니다. 모듈은 자체 스코프를 가지므로, 파일 내에서 선언한 변수나 함수는 기본적으로 외부에서 접근할 수 없습니다. 외부에서 해당 기능을 사용하려면 export 지시어를 사용해 공개하고, 다른 모듈에서는 import 지시어로 가져와야 합니다.// sayHi.jsexport function sayHi(user) { return `Hello, ${user}!`;}// main.jsimport { sayHi } from './sayHi.js';console.log(sayHi('John')); // Hello, John!모듈의 특징엄격 모드 자동 적용JavaScript 모듈은 엄격 모드 ("us..

  • format_list_bulleted JavaScript
  • · 2025. 2. 19.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • ···
  • 14
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (511)
    • JAVA (68)
      • 자바소개 (4)
      • 자바 기본 문법 (22)
      • 객체 지향 프로그래밍 (15)
      • 예외 처리 (9)
      • 스레드 (18)
    • Databases (14)
      • JDBC (13)
      • Hibernate ORM (1)
    • GIT (39)
      • 시작하기 (5)
      • GIT의 기초 (7)
      • Git 브랜치 (6)
      • Git 서버 (7)
      • Git 분산 환경 (6)
      • Git 도구 (8)
    • 알고리즘 (41)
      • 자료구조 (24)
      • 검색 알고리즘 (0)
      • 초급 알고리즘 (17)
      • 중급 알고리즘 (0)
      • 고급 알고리즘 (0)
    • 코딩문제 (35)
    • D3 (47)
      • D3 소개 (2)
      • 시각화 (45)
    • Docker (30)
    • Kubernetes(K8S) (2)
    • 도구 (39)
      • 프리미어프로 (39)
    • 브라우저 (32)
    • JavaScript (79)
    • TypeScript (38)
    • REACT (13)
      • 리액트 학습하기 (13)
      • 리액트 API (0)
      • 리액트 DOM API (0)
    • React Native (19)
    • Electron (15)
    • 인증 (0)
최근 글
인기 글
최근 댓글
태그
  • #TypeScript
  • #브라우저
  • #프리미어프로
  • #알고리즘
  • #코딩문제
  • #D3
  • #java
  • #git
  • #Javascript
  • #docker
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바