본문 바로가기

JS31

React useState Hook의 반환 값이 객체가 아닌 배열인 이유 1. 구문 간결성 객체를 사용하는 경우 객체의 속성을 개별적으로 추출 해야한다. 배열을 사용하는 경우에는 구조 분해 할당을 통해 간단하게 요소에 접근 할 수 있어 코드가 간결하고 가독성 있게 만들어준다. const user = { name: 'John', age: 30, city: 'New York' }; // 객체 속성 구조 분해 할당 const { name, age, city } = user; console.log(name); // 'John' console.log(age); // 30 console.log(city); // 'New York' const numbers = [1, 2, 3, 4, 5]; // 배열 요소 구조 분해 할당 const [first, second, third] = number.. 2023. 7. 4.
일급객체(First Class Object) , 일급함수(First Class Function) 란? 일급 객체 (일급 함수) 란? 프로그래밍 언어에서 함수를 값으로 다룰 수 있는 특성을 가진 함수를 말한다. 이는 함수를 변수에 할당하거나, 다른 함수의 인자로 전달하거나, 함수의 반환 값으로 사용 할 수 있는것을 의미한다. 일급함수를 가진 언어에서는 함수가 일반적인 데이터 타입처럼 취급 된다. 이는 함수를 생성하고 조작하고 전달하는 데, 좀 더 자유롭고 유연한 프로그래밍 스타일을 가능하게 한다. 1. 변수에 함수 할당 함수를 값으로 취급하여 변수에 할당 할 수 있다. const add = function (a, b) { return a + b; }; 2. 함수를 인자로 전달 함수를 다른 함수의 인자로 전달할 수 있다. function calculate(operation, a, b) { return ope.. 2023. 7. 4.
[Swiper] 스와이퍼 이벤트 리스트 정리 이벤트 이름 설명 init 슬라이드 쇼가 초기화될 때 발생합니다. slideChange 슬라이드가 변경될 때 발생합니다. slideChangeTransitionStart 슬라이드 변경 트랜지션 시작시 발생합니다. slideChangeTransitionEnd 슬라이드 변경 트랜지션 끝날 때 발생합니다. slideNextTransitionStart 다음 슬라이드로 이동할 때 발생합니다. slideNextTransitionEnd 다음 슬라이드로 이동한 후 트랜지션 끝날 때 발생합니다. slidePrevTransitionStart 이전 슬라이드로 이동할 때 발생합니다. slidePrevTransitionEnd 이전 슬라이드로 이동한 후 트랜지션 끝날 때 발생합니다. slideChangeTransitionStar.. 2023. 5. 10.
[JavaScript] Array.prototype.reduce() | 리듀서 함수 Array.prototype.reduce() 배열의 요소들을 하나의 결과 값을 반환합니다. let arr =[ 1, 2, 3, 4 ]; console.log( arr.reduce((a,b) => a + b) ); // 10 console.log( arr.reduce((a,b) => a - b) ); // -8 리듀서 함수는 4개의 인자를 가진다. 누산기 (acc) accumulator → 콜백의 반환 값을 누적한다. 콜백의 이전 반환 값은 initialValue 이다. 현재 값 (cur) currentValue → 처리해야 할 요소 값. 현재 인덱스 (idx) → 처리해야 할 현재 요소의 인덱스. initialValue 를 제공한 경우 0, 아니면 1이다. 원본 배열 (src) array → reduce.. 2022. 12. 2.
[JavaScript] 문자열 함수 실행 eval() , new Function() eval() eval()은 문자로 표현된 JavaScript 코드를 실행하는 함수이다. MDN 사이트를 확인해보면 해당 문제로 사용을 권장하지 않는다. 절대 사용하지 말라는 문구까지 사용 할 정도이다. 그럼 eval()의 대체를 알아보자 new Function() 새 함수 객체를 만든다. 이 생성자를 직접 호출하여 동적으로 함수를 생성할 수도 있으나, 보안 문제 및 eval과 유사한(그러나 훨씬 덜 심각한) 성능 문제가 발생할 수 있다. 하지만 eval과 달리, Function 생성자는 전역 범위로 한정된 함수만 생성하기에 대체로 사용한다. const icon1 = 'hi1' const icon2 = 'hi2' const icon3 = 'hi3' const icon4 = 'hi4' for(let i = .. 2022. 11. 27.
[JavaScript] ID , Class 제어 Element.id Element.className Element.id 요소의 식별자를 나타내며, HTML의 전역적인 id 속성을 반영한다. Element.ClassName 특정 엘리먼트의 클래스 속성의 값을 가져오거나 설정할 수 있다. 사용 방법 Element.id = '아이디명' Element.className = '클래스명' 2022. 11. 27.
[JavaScript] 속성값 제어 Element.setAttribute() Element.setAttribute() 지정된 요소의 속성 값을 설정한다. 속성이 이미 있는 경우 값이 업데이트가 된다. 그렇지 않으면 지정된 이름과 값으로 새 속성이 추가된다. 사용 방법 Element.setAttribute("className", "클래스명"); Element.setAttribute("id", "아이디명"); Element.setAttribute("name", "이름"); Element.setAttribute("href", "#"); 2022. 11. 27.
[JavaScript] 클래스 제어 classList() classList() 엘리먼트의 클래스 속성의 컬렉션인 활성 DOMTokenList를 반환하는 읽기 전용 프로퍼티이다. classList 사용은 공백으로 구분된 문자열인 element.className을 통해 엘리먼트의 클래스 목록에 접근하는 방식을 대체하는 간편한 방법이다. 01. Element.classList.add() 클래스 추가 Element.classList.add('클래스명') // 클래스 하나 추가 Element.classList.add('클래스명a', '클래스명b', '클래스명c',) // 클래스 여러개 추가 02. Element.classList.remove() 클래스 제거 Element.classList.remove('클래스명') //제거 03. Element.classList.rep.. 2022. 11. 27.
[JavaScript] JSON(5) 구조분해 01. JSON에 대한 구조분해할당 (=비구조할당) 구조 분해 할당 구문은 배열이나 객체의 속성을 해체하여 그 값을 개별 변수에 담을 수 있게 하는 JavaScript 표현식이다. object 에는 {} 안에 명시된 항목과 동일한 key를 갖는 데이터가 존재해야한다. let obj = {num: 123, boolean: true}; let {num, boolean} = obj; console.log(num); // 42 console.log(boolean); // true 01-1. 구조분해를 활용하여 필요한 데이터만 추출하기 객체 안에 들어있지 않은 값을 입력하면, undefined 이 출력 된다. const data = {name:'hello' , age : 20 , height:172,weight:.. 2022. 11. 27.
728x90