Front-End Study/JavaScript

vue를 공부하던 도중, 컴포넌트 기반 개발을 하고 있었습니다.컴포넌트가 늘어날수록 script도 같이 늘어나면서 코드가 너무 길어지는 문제가 발생했습니다.이를 해결하기 위해, 어떤 방법이 있을지 찾아보던 도중, 웹팩(Webpack)에 대해 알게 되었어요! 1. 웹팩(Webpack)웹팩(Webpack)은 JavaScript 애플리케이션을 위한 모듈 번들러(Module Bundler)입니다.많은 수의 JavaScript 파일을 관리하고, 최종적으로 배포 가능한 형태로 묶어주는 도구입니다.이를 사용하면, 여러 모듈과 자원을 하나 or 여러 파일로 번들링 할 수 있어요.※ 번들링(Bundling) : 여러 개의 파일 or 모듈을 하나의 파일로 묶는 과정 2. 설치그럼 일단, 설치를 해봅시다!설치를 하기 전에,..
데이터 포맷 1. 데이터 포맷 이번엔 데이터 포맷에 대해 알아보겠습니다. 데이터 모팻이란? 데이터를 어떻게 표현하고 구조화하는지에 대한 것입니다. 다양한 종류의 데이터를 처리하고 다룰 때, 사용됩니다. 2. 데이터 포맷 종류 JavaScript에서 자주 사용되는 몇가지 데이터 포맷에 대해 알아봅시다. 1) JSON JSON(JavaScript Object Notation)은 JavaScript에서 데이터를 표현하기 위한 경량의 데이터 형식입니다. 키-값 쌍의 집합으로 구성되어 있으며, 배열과 객체의 형태를 가집니다. JSON의 기본적인 형태는 다음과 같습니다. { "students": [ { "name": "Kim", "age": 20, "sex": "female", "grade": 3 } ] }​ JS..
웹 스토리지 1. 웹 스토리지 웹 스토리지에 대해 알아보겠습니다. 웹 스토리지란? 웹 브라우저에서 데이터를 장시간 보관하기 위한 메커니즘입니다. 주로 두가지 유형이 있습니다. 로컬 스토리지(Local Storage) : 브라우저 종료 시에도 유지되는 데이터 세션 스토리지(Section Storage) : 새로 고침 시에도 유지되는 데이터 (같은 탭 내에서만) 웹 스토리지는 쿠키와 달리 요청 헤더에 포함되지 않고, 클라이언트에서만 조정 가능하며, 해당 URL에서만 접근 가능합니다. 2. 웹 스토리지 쓰기, 접근, 삭제 웹 스토리지 쓰기, 접근, 삭제 또한 로컬과 세션으로 나뉩니다. 웹 스토리지 쓰기는 다음과 같은 방법으로 사용합니다. // 1. 웹 스토리지 쓰기 // 로컬 스토리지 localStorage...
쿠키 받아오기(Cookie) 1. 쿠키 받아오기 이번엔 브라우저 기능인 쿠키에 대해 알아보겠습니다. 쿠키(Cookie)란? 브라우저에 저장되는 작은 크기의 문자열을 뜻합니다. 주로 웹 브라우저에서 사용되며, 웹 서버에서 클라이언트로 전송되어 클라이언트의 로컬 컴퓨터에 저장됩니다. 2. 쿠키의 구성 쿠키의 구성은 다음과 같습니다. Name : 키 Value : 값 Domain : 사용하는 도메인 Path : 접근 경로 Expires / max-age : 쿠키 만료일 HttpOnly : HTTP외의 통신 허용 여부 Secure : 보안 설정 3. 쿠키 설정 쿠키를 설정하는 방법은 크게 두가지가 있습니다. 클라이언트 코드에서는 다음과 같습니다. document.cookie="name=juv; path=/; m..
네트워크 요청 1. 네트워크 요청 네트워크 요청에 대해 알아봅시다. 네트워크 요청이란? 클라이언트가 서버에 데이터를 요청하거나 보내는 일련의 통신 과정을 말합니다. 2. Fetch API Fetch API는 JavaScript에서 네트워크 요청을 만들고 응답을 다루는 기능을 제공하는 기술입니다. 기존의 XMLHttpRequest 객체보다 더 간결하고 강력한 인터페이스를 제공하합니다. fetch 함수는 주로 다음과 같은 방식으로 사용합니다. fetch('URL', { method: 'POST', // method : 네트워크 요청의 종류 headers: { // headers : 서버에 부가적으로 전달할 정보를 넣음 Cookie: '', }, body: { // body : 데이터를 실어 보내는 필드 na..
에러 핸들링(Error Handling) 1. 에러 핸들링(Error Handling) 에러 핸들링에 대해 알아봅시다! 에러 핸들링(Error Handling)이란? 코드 실행 중 발생할 수 있는 예외 상황에 대응하는 방법입니다. 올바른 에러 핸들링은 애플리케이션의 안정성을 높이고, UX를 향상 시킵니다. 2. 사용방법 대표적인 에러 핸들링 DOM 이벤트는 다음과 같습니다. try { // 실행하려는 코드 } catch (error) { // error 객체 // 에러 발생 시, 실행할 코드 } finally { // 항상 실행할 코드 } 여기서 error 객체의 속성은 다음과 같습니다. Error { name : 에러명, message : 에러의 상세 내용, stack : 호출 스택, } 예를 들어 봅..
이벤트(Event) 1. 이벤트(Event) JavaScript에서 이벤트에 대해 알아봅시다! 이벤트(Event)란? 사용자 상호 작용 or 웹 페이지의 상태 변화와 같은 다양한 동작을 처리하는 데 사용됩니다. 이벤트는 일종의 신호로, 웹 페이지 or 애플리케이션에서 어떤 일이 발생했음을 알리는 역할을 합니다. 이벤트는 함수(핸들러)를 연결시켜 활동 발생 시, 동작(트리거)하게 합니다. 2. 이벤트 핸들러 종류 대표적인 DOM 이벤트 핸들러의 종류는 다음과 같습니다. 1) click 요소를 마우스 왼쪽 버튼으로 눌렀을 때, 발생합니다. 예를 들어, 다음과 같이 +1 버튼을 클릭 시, 숫자가 1씩 증가하게 할 수 있습니다. See the Pen Tistory_Front-End Study_JavaScript..
브라우저 객체 1. 브라우저 객체 브라우저 객체에 대해 알아봅시다! 브라우저 객체란? 웹 브라우저 환경에서 사용할 수 있는 객체들을 말합니다. 이러한 객체들은 웹 페이지의 구조, 동작, 스타일 등을 조작하는 데 사용됩니다. 2. 브라우저 객체의 종류 주요한 브라우저 객체들은 다음과 같습니다. 1) Window 객체 모든 브라우저 객체의 최상위 객체로, 브라우저 윈도우를 나타냅니다. 전역 객체이기도 하며, 브라우저 창의 크기, 위치, 브라우저 히스토리, 타이머 등을 다룰 수 있습니다. window 객체의 속성은 다음과 같습니다. window { alert : 경고 메시지 출력 함수, confirm : 확인 메시지 출력 함수, prompt : 입력 메시지 출력 함수, setTimeout : n초 후에 함수를..
DOM 1. DOM DOM(Document Object Model)에 대해 알아봅시다. 여기서 DOM이란? HTML, XHTML 또는 XML 문서의 프로그래밍 인터페이스를 나타냅니다. 이는 웹 페이지의 구조화된 표현을 나타내며, 프로그래밍 언어가 해당 구조를 조작할 수 있는 방법을 제공합니다. 2. 특정요소 찾기 그러면 DOM을 다뤄봅시다! DOM에서 특정 요소를 찾는 데 사용되는 주요 메서드로는 다음과 같이 있습니다. document.getElementById('아이디') : 해당 ID를 가진 요소를 찾습니다. document.querySelecter('css') : CSS 선택자를 사용하여, 첫 번째 일치하는 요소를 반환합니다. document.getElementsByClassName('class')..
디버깅(Debugging) 1. 디버깅(Debugging) 디버깅(Debugging)에 대해 알아봅시다! 디버깅(Debugging)이란? 컴퓨터 프로그램 개발 단계 중 발생한 시스템의 논리적 오류 or 버그를 찾아내고 수정하는 작업 과정을 말합니다. 2. 디버깅 도구 및 기법 JavaScript에선 디버깅을 수행하는 데 사용할 수 있는 몇 가지 도구와 기법이 있습니다. 1) 브라우저 콘솔 대부분 웹 브라우저는 개발자 도구를 제공하며, 코드 실행 시 발생하는 오류를 보고하는 console이 포함되어 있습니다. 오류 메시지, 경고 및 로그 메시지를 확인하여 코드에서 발생하는 문제를 식별할 수 있습니다. Chrome 브라우저에서는 F12를 누르고, Console 탭을 선택하여 콘솔을 열 수 있습니다. 2) 디..
export와 export default의 차이 1. export와 export default의 차이 코딩을 하다보면, export를 사용하는 경우와 export default를 사용하는 경우가 있습니다. 이 둘의 차이는 뭘까요? 2. export export는 모듈에서 하나 이상의 변수, 함수 or 객체를 내보내는 데 사용합니다. 여러 개의 이름이 지정된 항목을 모듈에서 내보낼 수 있습니다. 예를 들어 봅시다. → 이 경우, aaa와 bbb를 내보내고 다른 모듈에서 가져올 때, 이름으로 가져올 수 있습니다. // 항목 1 const aaa = 'aaa'; // 항목 2 function bbb() { return 'bbb'; } export {aaa, bbb}; /* 이렇게도 사용할 수 있음 export..
this와 bind 1. this this는 실행 컨텍스트에 따라 동적으로 바뀌며, 함수가 어떻게 호출되는 지에 따라 값이 달라집니다. 주로 메서드 or 콜백 함수 등에서 사용되며, 함수가 어떻게 호출되느냐에 따라 this가 가리키는 대상이 달라집니다. 다음 코드를 보면 user.info( )를 호출할 때, this는 user를 가리킵니다. const user = { name: "Kim", info: function () { console.log(this.name); } }; user.info(); // Kim 2. bind bind 메서드는 함수의 this 값을 설정하여, 새로운 함수를 생성합니다. const user = {name: "Kim"}; function info() { console.log(..
reduce 함수 1. reduce 함수 reduce 함수는 배열의 각 요소에 대해 주어진 콜백 함수를 실행하고, 하나의 누적된 결과 값을 반환하는 함수입니다. reduce는 초기값(Initial Value)과 함께 사용될 수 있습니다. 2. 사용방법 다음 예제를 확인해보겠습니다. let numbers = [1,2,3,4,5,]; let sum = numbers.reduce((result, num) => result + num, 0); console.clear(); console.log(sum); // 15 위 코드에서 reduce는 배열 numbers의 각 요소에 대해 누적된 합계를 계산합니다. 초기값으로 0을 사용하고, 콜백 함수는 현재 요소(num)와 누적된 값(result)을 받아서 더한 후, 새..
생성자 (constructor) 1. 생성자 (constructor) constructor는 객체를 생성할 때, 호출되는 메서드입니다. 일반적으로 클래스 or 함수를 사용하여 객체를 만들 때, 이 생성자가 호출됩니다. 2. 사용방법 console.clear(); class Person { // 생성자 constructor(name, age) { this.name = name; this.age = age; } // 다른 메서드들도 정의할 수 있음 hello() { console.log(`안녕하세요 ${this.name}입니다. 나이는 ${this.age}살 입니다.`) } } // 객체 생성 const user = new Person("Kim", 20); // 생성자에서 초기화된 속성 확인 console...
forEach 메서드 1. forEach 메서드 forEach 메서드란? 배열의 각 요소에 대해 주어진 함수를 실행하는 메서드입니다. 반복문을 대신하여 코드를 간결하게 해주고, 배열의 각 요소에 대한 작업을 수행할 때, 편리하게 사용됩니다. 2. forEach 메서드 구조 array.forEach(function(currentValue, index, array) { // currentValue: 현재 반복 중인 요소의 값 // index: 현재 반복 중인 요소의 인덱스 // array: 원본 배열 // 수행 코드 }); 3. 예시 // 배열 생성 var numbers = [1, 2, 3, 4, 5]; // 배열의 각 요소와 인덱스를 출력 numbers.forEach(function (number, ind..
NewBean
'Front-End Study/JavaScript' 카테고리의 글 목록