본문 바로가기

D.evelop/JavaScript26

[JS] 널 병합연산자 Nullish Coalescing Operator ??  : 널 병합연산자 (Nullish Coalescing Operator)JavaScript에서 제공되는 독특한 연산자왼쪽 피연산자가 null 또는 undefined일 때만 오른쪽 값을 반환하는 문법|| 논리합 연산자(OR연산자) 와 비슷해 보이지만,||는 0, 문자열 ("") , false 같은 "falsy" 값도 오른쪽 값으로 대체하는 반면??는 null과 undefined만 처리➡️ 기본값 설정이 필요한 경우 많이 사용. 값이 0, 빈 문자열(""), false 등의 falsy 값일 때도 그대로 사용하는 것이 중요한 상황에서 사용.router.push(path ?? '/login');/*path ?? '/login'는 path가 null이거나 undefined인 경우에만 '/login'을 반환하.. 2024. 10. 27.
[JS] 날짜 형식 커스텀 yyyy-mm-dd // dataFormat.js const leftPad = (value) => { if (value >= 10) { return value; } return `0${value}`; } const toStringByFormatting = (source, delimiter) => { const year = source.getFullYear(); const month = leftPad(source.getMonth() + 1); const day = leftPad(source.getDate()); return [year, month, day].join(delimiter); }; const dataFormat = { toStringByFormatting, }; export default dataFormat; 날짜.. 2023. 7. 19.
[JS] value로 key값 찾기 value로 key값 찾기 const list = { "a": "netmable", "b": "nexon", "c": "ncsoft", "d": "kakaogames", } function getKeyByValue(object, value) { return Object.keys(object).find((key) => object[key] === value); } getKeyByValue(list, "nexon") // b 2023. 7. 19.
[Ajax]비동기 처리(with jQuery) 새로운 이벤트를 위해 유저의 정보를 받아와 저장하는 작업을 해야했다. 벡엔드 과장님의 제안으로 jQuery와 Ajax를 사용해 비동기 처리를 하기로 했다. 백엔드 분께 전달 받을 정보 text.php --post param(characterName,walletAddress) 결과 값으로 성공 시 1, 이름 중복 시 2 를 보내주기로 함 text.php로 요청을 보내고 요청은 post로 보내고 그때 'characterName', 'walletAddress' 을 담아서 보내라는 거구나. const alertTxt = document.getElementsByClassName("alert_txt")[0]; const eventPopupMes = { warn :{ incomplete : "Please enter .. 2023. 2. 3.
[JavaScript] encodeURIComponent()를 사용한 URI 공유 💥'텔레그램 링크 공유하기' 기능을 구현에 있어 '+'문자열이 무시되는 경우 발생. https://t.me/+_abscefb1234 위와같은 링크를 아래와 같은 함수로 전달했다. function shareTelegram() { let sendUrl = "https://t.me/_abscefb1234"; window.open("https://telegram.me/share/url?url=" + "&url=" + sendUrl); } 하지만 다음과 같이 + 가 빠진 상태로 전달되는 현상 발생 https://t.me/_abscefb1234 이렇게 공유가 되었다. 주소창에는 원하는 url이 잘 전달 되었기에 (+모바일에서는 url 문자열이 완벽히 출력됨. PC앱에서만 문제가 생김._ 텔레그램 자체의 어떤 상황으.. 2022. 7. 4.
[JS lib.] Lodash - 기초 문법 이번에 이관 받은 운영툴 분석 중 배운 것. - Lodash 란? 모듈성, 성능 및 추가 기능을 제공하는 최신 JavaScript 유틸리티 라이브러리입니다. Lodash는 배열, 숫자, 객체, 문자열 등으로 작업하는 번거로움을 없애 JavaScript를 더 쉽게 만듭니다. Lodash의 모듈식 방법은 다음과 같은 경우에 적합합니다. 배열, 객체 및 문자열 반복 값 조작 및 테스트 복합 함수 만들기 출처 : lodash공식사이트 Lodash _.defaults({ 'a': 1 }, { 'a': 3, 'b': 2 });_.partition([1, 2, 3, 4], n => n % 2);DownloadLodash is released under the MIT license & supports modern en.. 2022. 6. 28.
[JavaScript] 오늘 하루 보지 않기 (cookie) JavaScript를 사용하여 '오늘 하루 보지 않기 팝업' 구현하기 '오늘 하루 보지 않기' 체크박스 선택 후 닫음 > 오늘 하루 보지 않기 '오늘 하루 보지 않기' 체크박스 해제 후 닫음 > 페이지 접속 시 마다 계속 보이기 See the Pen Untitled by KANG DAN (@kangdanne) on CodePen. const btnClose = document.querySelector('.btn_close'); const popupMask = document.querySelector('.popup_mask'); const popup = document.querySelector('.popup_wrap'); btnClose.addEventListener('click', function(){ .. 2022. 4. 11.
[JavaScript] 함수 선언문과 함수 표현식 호출의 차이 - function statement/function expression 이전 내용의 추가 - 함수의 정의 - 함수의 호출 함수 선언문 : 어디서든 호출 가능 호이스팅(Hoisting)됨 (수정필요) foo(); // 'hi' function foo(){ console.log('hi'); } foo(); // 'hi' 함수 표현식 : 해당 코드에 도달 했을 때 함수 생성 foo() // ReferenceError: foo is not defined let foo = function(){ console.log('hi'); } foo() // 'hi' 출처 : 유튜브 '코딩앙마' - 자바스크립트 기초 강좌 #11 - 함수 표현식, 화살표 함수(arrow function) 2021. 12. 8.