JS(17)
-
[JS] 제네레이터
JavaScript에서의 제네레이터는 ECMAScript 6 (ES6)에서 도입된 기능으로, 이터러블(iterable) 프로토콜을 구현하는 함수입니다. JavaScript의 제네레이터 함수는 function* 키워드로 정의되며, yield 키워드를 사용하여 값을 반환하고 함수 실행을 일시 중지할 수 있습니다. 주요 특징 일시 중지와 재시작: 제네레이터는 실행 중인 상태를 저장하고 나중에 그 상태를 복원하여 계속 실행할 수 있습니다. yield 키워드: 제네레이터 함수 내에서 yield를 사용하여 값을 반환하고 실행을 일시 중지합니다. iterator 객체: 제네레이터 함수를 호출하면 이터레이터 객체가 반환되며, 이 객체의 next() 메서드를 사용하여 함수를 계속 실행하고 다음 yield 값까지 가져올 ..
2023.09.20 -
[JS] 다양한 연산자
산술 연산자(Arithmetic Operators): Addition (+): 두 피연산자를 더합니다. Subtraction (-): 첫 번째 피연산자에서 두 번째 피연산자를 뺍니다. Multiplication (*): 두 피연산자를 곱합니다. Division (/): 첫 번째 피연산자를 두 번째 피연산자로 나눕니다. Modulus (%): 첫 번째 피연산자를 두 번째 피연산자로 나눈 나머지를 반환합니다. 대입 연산자(Assignment Operators): =: 왼쪽 피연산자에 오른쪽 피연산자의 값을 할당합니다. +=, -=, *=, /=, %=: 각각 더하기, 빼기, 곱하기, 나누기, 나머지를 계산한 후 결과를 왼쪽 피연산자에 할당합니다. 비교 연산자(Comparison Operators): Equa..
2023.08.04 -
[JS] 스프레드 연산자
JavaScript에서 ... 연산자는 "Spread" 연산자라고 부릅니다. 이 연산자는 배열이나 객체 등의 iterable한 값들을 펼쳐서 개별 요소로 분리합니다. React에서는 주로 배열이나 객체를 복사하거나 합칠 때 많이 사용합니다. 배열에서의 사용 예시 const array1 = [1, 2, 3]; const array2 = [...array1, 4, 5]; // 결과: [1, 2, 3, 4, 5] 위의 코드에서 ...array1는 array1의 모든 요소를 개별적으로 분리합니다. 그리고 그 결과를 새 배열에 포함시킵니다. 객체에서의 사용 예시 const obj1 = { a: 1, b: 2 }; const obj2 = { ...obj1, c: 3 }; // 결과: { a: 1, b: 2, c: ..
2023.08.03 -
[JS] `??` 와 `||` 연산자
JavaScript에서 ??와 ||는 둘 다 "또는"의 개념을 표현하는 연산자이지만, 그 작동 방식은 약간 다르다. `??` 연산자는 "Nullish coalescing operator"라고 불립니다. 이 연산자는 첫 번째 피연산자가 null 또는 undefined일 경우에만 두 번째 피연산자를 반환합니다. let value = null ?? "default string"; console.log(value); // "default string" `||` 연산자는 "Logical OR operator"라고 불립니다. 이 연산자는 첫 번째 피연산자가 falsy값일 경우에만 두 번째 피연산자를 반환합니다. JavaScript에서 falsy값에는 false, 0, ''(빈 문자열), null, undefined..
2023.07.24 -
[JS] 웹 모바일에서 App 실행
Web Mobile 에서 APP 을 실행 할수 있다! 이를 앱링크 or 딥링크 라고 한다. 아래 예제는 메타마스크 로그인에 관한 예제다. const LoginWallet = async () => { try { await ethereum.enable(); } catch (e) { let pcDevice = "win16|win32|win64|mac|macintel"; if (navigator.platform) { // 모바일 환경일 경우 if (pcDevice.indexOf(navigator.platform.toLowerCase()) < 0) { exeDeepLink(); checkInstallApp(); } else { window.open(`${process.env.REACT_APP_INSTALL_MET..
2021.11.01 -
[JS] IE8 및 Safari 에서 new Date() 시 NaN 오류 이슈
아이패드와 몇몇 아이폰 기종에서 Date가 안나오고 NaN이라고 뜨는 이슈가 있다. 자바스크립트에서 흔히 사용하는 Date 객체에 String 타입의 날짜를 담아 사용할 때, ex : new Date('2021-11-01'); 사파리에서는 Invalid Date error를 내뱉는다. 해당 이슈를 해결하기 위해 moment.js 날짜 라이브러리를 사용했다. moment.js를 사용하면 모든 기종 및 사파리에서도 사용 가능하다. date 객체를 생성할 때 new Date(); 를 사용한다면 moment.js 에서는 moment();, moment(new Date()); 를 사용하여 현재 날짜를 가져올 수 있다 yarn add moment or npm install moment 해당 라이브러리를 설치 한 후..
2021.11.01