기본 콘텐츠로 건너뛰기

라벨이 프론트엔드 개발인 게시물 표시

[ES6] JavaScript Rest 파라미터 완전 정리: 가변 인자 처리와 Spread 차이

[ES6] JavaScript Rest 파라미터 완전 정리: 가변 인자 처리와 Spread 차이 AI 생성 이미지: [ES6] JavaScript Rest 파라미터 완전 정리: 가변 인자 처리와 Spread 차이 이 문서는 "[ES6] JavaScript Rest 파라미터 완전 정리: 가변 인자 처리와 Spread 차이"를 중심으로, 함수에 전달되는 가변 인자를 안전하고 명확하게 다루는 방법을 설명합니다. 예전의 arguments 대신 ES6의 Rest 파라미터(Rest Parameter) 를 사용하면, 전달된 값들을 정확한 배열 로 받아와 표준 배열 메서드로 쉽게 처리할 수 있습니다. 📚 목차 1. Rest 파라미터 기본 정의 및 문법 2. 사용 예시: 가변 인자 합계 계산 3. Rest 파라미터 vs Spread 연산자 차이 4. 정리 및 실무 팁 1. 📌 Rest 파라미터 기본 정의 및 문법 간단히 말해 Rest 파라미터는 함수 선언에서 식별자 앞에 점 세 개( ... )를 붙여 남은 모든 인자를 하나의 배열 로 묶는 문법입니다. "[ES6] JavaScript Rest 파라미터 완전 정리: 가변 인자 처리와 Spread 차이"의 핵심은 이 배열을 어떻게 안전하게 다루느냐에 있습니다. Rest 파라미터 문법 function myFunc(...rest) { ...

웹 페이지의 가시성 상태 감지하기 - Visibility API를 활용한 자바스크립트 코드 설명

웹 페이지의 가시성 상태 감지하기 - Visibility API를 활용한 자바스크립트 코드 설명 AI 생성 이미지: 웹 페이지의 가시성 상태 감지하기 - Visibility API를 활용한 자바스크립트 코드 설명 웹에서 실행되는 페이지가 화면에 보이는지 아닌지를 판별하는 방법을 다룹니다. 이 글, 웹 페이지의 가시성 상태 감지하기 - Visibility API를 활용한 자바스크립트 코드 설명 은 Visibility API의 핵심 동작과, 이를 이용해 불필요한 리소스 사용을 줄여 성능을 개선하는 실무 팁을 제공합니다. 간단한 이벤트 기반 접근으로 배터리나 CPU 사용량을 절감할 수 있습니다. 1. 🛠️ 가시성 상태 감지 JavaScript 코드 "visibilitychange" 이벤트를 이용하면 탭 전환이나 창 최소화 등으로 페이지가 보이는지 숨겨졌는지를 실시간으로 감지할 수 있습니다. 이 섹션은 웹 페이지의 가시성 상태 감지하기 - Visibility API를 활용한 자바스크립트 코드 설명 에서 바로 적용 가능한 기본 예제를 보여줍니다. JavaScript 기본 감지코드 document.addEventListener("visibilitychange", () => { // 상태가 변경될 때마다 document.visibilityState 값을 확인 console.log("현재 페이지 상태:", document.visibilityState); }); 2. 🔍 코드 및 속성 설명 2-1. 이벤트 리스너 설명 document.addEventListener("visibilitychange", ...) : 탭 활성화...

JavaScript 문자열 타입 정리: typeof vs instanceof, String 객체의 함정

JavaScript 문자열 타입 정리: typeof vs instanceof, String 객체의 함정 AI 생성 이미지: JavaScript 문자열 타입 정리: typeof vs instanceof, String 객체의 함정 안녕하세요 — 타입과 런타임 동작을 좋아하는 개발자입니다. 코드를 작성하다 보면 문득 이렇게 묻게 됩니다. "문자열인데 왜 instanceof String 이 false일까?" 특히 Java나 다른 정적 타입 언어 경험이 있으면 더 혼란스러울 수 있습니다. 이 글은 JavaScript 문자열 타입 정리: typeof vs instanceof, String 객체의 함정 을 바탕으로, 원시 문자열(primitive string) 과 String 래퍼 객체 의 차이, 그리고 typeof 와 instanceof 를 실제로 언제, 왜 사용해야 하는지를 예제와 함께 명확히 설명합니다. 1. 🔍 자바스크립트 instanceof 연산자는 무엇을 확인하는가? instanceof 는 값이 특정 생성자(또는 클래스)의 인스턴스인지 판별합니다. 핵심은 객체의 프로토타입 체인에 해당 생성자의 prototype이 포함되어 있는지 여부입니다. 동작 원리: 좌변 객체의 프로토타입 체인을 거슬러 올라가며 우변 생성자의 prototype과 일치하는지 검사합니다. 2. 🤯 문자열에서 instanceof String 이 false가 나오는 이유 ...

jQuery 플러그인 패턴 템플릿 완전 정리: $.fn.pluginName 예제와 사용법

jQuery 플러그인 패턴 템플릿 | pluginName 기본 구조와 사용법 jQuery 플러그인 패턴 템플릿: pluginName 기본 구조 완벽 정리 jQuery를 사용하다 보면 공통 기능을 플러그인 으로 만들어서 재사용하고 싶을 때가 많습니다. 이때 매번 구조를 처음부터 짜기보다는, 플러그인 패턴 템플릿 을 하나 만들어 두면 매우 편리합니다. 이 글에서는 아래와 같은 pluginName jQuery 플러그인 템플릿 코드 를 기반으로, 각 부분이 어떤 역할을 하는지, 어떻게 수정해서 나만의 플러그인을 만들 수 있는지 SEO 친화적인 설명과 함께 정리합니다. jQuery 플러그인 기본 템플릿 코드 (function($) { // 플러그명 (생성자 역할) $.pluginName = function(element, options) { // 기본 옵션 var defaults = { foo: 'bar', onFoo: function() {} }; var plugin = this; // 플러그인 설정 객체 plugin.settings = {}; var $element = $(element), element = element; // 초기화 plugin.init = function() { // 사용자 옵션과 기본 옵션 병합 plugin.settings = $.extend({}, defaults, options); }; // public 메서드 (외부에서 호출 가능) plugin.foo_public_method = function() { ...

slick with Dragdealer

FRONTEND / UI LIBRARY 🔗 슬라이더 동기화: slick.js와 Dragdealer를 연결하여 커스텀 프로그레스 바 구현 웹사이트에서 슬라이더(캐러셀)는 흔하지만, 드래그 가능한 컨트롤 바(Slider Bar)와 슬라이더를 완벽하게 동기화하는 것은 고급 기술입니다. 이 글은 인기 있는 slick.js 슬라이더와 Dragdealer를 결합하여 양방향 제어 시스템을 구축하는 방법을 분석합니다. 📑 목차 1. HTML 구조: 슬라이더와 드래그 바 2. JavaScript (jQuery): 슬라이더 동기화 로직 3. 결론: 양방향 동기화의 완성 1. HTML 구조: 슬라이더와 드래그 바 슬라이더를 위한 `.center`와 드래그 바를 위한 `#rolling_Bar` 및 `.handle` 구조가 필요합니다. `Dragdealer`는 내부 `.handle` 요소를 드래그하여 `#rolling_Bar` 영역 내에서 움직이게 합니다. <!-- (1) slick 슬라이더 영역 --> <div class="content"> <div class="center"> <div><div class="slide prod"><a href="#">... (슬라이드 내용 1) ...</a></div></div> <div><div class="slide prod"><a href="#">... (슬라이드 내용 2) ...</a></div></div> ...