728x90
반응형

분류 전체보기 1361

[js]for (const [typeTp, items] of Object.entries(grouped))

1. Object.entries(grouped)Object.entries() 는 객체를 [key, value] 쌍의 배열로 바꿔줍니다.예를 들어:const grouped = { "1": [{ id: 1 }, { id: 2 }], "2": [{ id: 3 }]};console.log(Object.entries(grouped));출력:[ ["1", [{ id: 1 }, { id: 2 }]], ["2", [{ id: 3 }]]]즉, grouped 객체가 { key: value } 구조라면Object.entries(grouped) → [ [key1, value1], [key2, value2], ... ]2. for (const [typeTp, items] of ...)for...of 구문은 배열을 순회할..

Front/JS & jQuery 2025.09.17

[js] toLocaleString

1️⃣ 기본 개념toLocaleString()은 숫자(Number)나 날짜(Date)를 사용자 지역(locale)에 맞는 형식으로 문자열로 변환하는 자바스크립트 메서드입니다.숫자 → 천 단위 구분, 소수점 자리수, 통화 기호 등날짜 → 지역별 날짜/시간 형식 2️⃣ 숫자 예시const num = 1234567.89;console.log(num.toLocaleString()); // 출력: "1,234,567.89" (기본 브라우저 로케일 기준),로 천 단위 구분소수점 유지console.log(num.toLocaleString('de-DE')); // 독일식 출력: "1.234.567,89"독일은 .로 천 단위, ,로 소수점 표시console.log(num.toLocaleString('ko-KR')); /..

Front/JS & jQuery 2025.09.15

[Error][js]Uncaught TypeError: Cannot read properties of null (reading 'replace')

변환할 데이터가 null(또는 undefined) 상태라서 replace 함수를 쓸 수 없는 거예요. 해결 방법null/undefined 체크 후 실행const hpNo = this.detail.hpNo || "";const formattedHpNo = hpNo.replace(/^(\d{3})(\d{3,4})(\d{4})$/, '$1-$2-$3'); Optional chaining 사용 (ES2020+)const formattedHpNo = this.detail.hpNo?.replace(/^(\d{3})(\d{3,4})(\d{4})$/, '$1-$2-$3') || ""; 조건문으로 직접 처리let formattedHpNo = "";if (this.detail.hpNo) { formattedHpNo =..

Error 2025.09.10

[CSS] grid-template-columns, grid-template-rows

grid-column, grid-row에서 몇 칸까지 설정 가능한지는 결국 **그리드를 몇 칸으로 나눴느냐 (grid-template-columns, grid-template-rows)**에 따라 달라져요.1. 칸(셀)의 기준 = grid line (격자선)칸 자체가 아니라 **칸을 구분하는 선(line)**을 기준으로 번호가 매겨집니다.예를 들어 grid-template-columns: repeat(3, 100px); → 3개의 열이 생기면, 선은 4개가 생겨요. 즉, grid-column은 선 번호를 기준으로 "어디서 시작해서 어디까지"를 지정하는 거예요.2. 사용자가 칸 개수 설정몇 칸으로 나눌지는 개발자가 grid-template-columns(가로), grid-template-rows(세로)로 ..

Front/CSS 2025.09.09

[CSS] grid-column, grid-row

grid-column과 grid-row는 CSS Grid Layout에서 아이템이 어느 열(column), 어느 행(row)에 위치할지 제어하는 속성이에요.1. 기본 개념CSS Grid는 행(row)과 열(column)로 나뉜 2차원 레이아웃 시스템.각 셀은 **격자선(Grid line)**으로 구분돼요.grid-column과 grid-row는 아이템이 어느 선부터 어느 선까지 차지할지 지정하는 속성이에요.2. grid-column .item { grid-column: 1 / 3; }➡️ 1번 선부터 3번 선 직전까지 차지 → 즉, 2칸을 가로로 점유.세부 속성grid-column-start: 시작하는 선 번호grid-column-end: 끝나는 선 번호단축형: grid-column: start / en..

Front/CSS 2025.09.08

[js] capitalizeFirstLetter

capitalizeFirstLetter는 꽤 자주 쓰이는 유틸이에요.🔹 주로 쓰이는 경우UI 표시용 텍스트 가공사용자 이름, 주소, 상품명 등을 표시할 때 첫 글자만 대문자로 보이게 하고 싶을 때console.log("apple".capitalizeFirstLetter()); // "Apple"문장 포맷팅설명, 제목, 메시지 등을 자연스럽게 보이게 하기 위해 첫 글자를 대문자로 변환데이터 표준화DB나 API에서 내려오는 문자열이 전부 소문자/대문자일 때, 화면에는 "보기 좋게" 첫 글자만 대문자로 표기

Front/JS & jQuery 2025.09.04

[js] String.prototype

🔹 String.prototype 이란?JavaScript에서 모든 문자열 객체(String)가 상속받는 프로토타입 객체입니다.즉, "hello" 같은 문자열 리터럴도 내부적으로는 new String("hello") 객체에서 파생되며, 이때 String.prototype에 정의된 메서드들을 사용할 수 있게 되는 것이에요. 🔹 주요 특징모든 문자열이 공유String.prototype에 정의된 속성과 메서드는 모든 문자열 객체에서 상속됩니다.즉, 한 번 확장하면 전역에 적용됩니다.내장 메서드 포함예:charAt()slice()toUpperCase()toLowerCase()trim()includes()등등 모두 String.prototype에 정의되어 있습니다.사용자 정의 메서드 추가 가능String.pr..

Front/JS & jQuery 2025.09.03

[js] pignoseCalendar 바인딩

👉 pignoseCalendar 기본 동작pignoseCalendar는 단순히 인풋에만 달리는 게 아니라, 그 인풋과 같은 input-group 영역 클릭도 트리거로 인식합니다.공식 문서에서도 input-group과 같이 쓰면 아이콘/버튼 클릭 시에도 focus 이벤트가 인풋에 전달되도록 되어 있습니다.(.input-group-append .input-group-text 클릭 → 내부적으로 input.focus() 발생 → 달력이 뜸)즉, 아이콘을 눌렀을 때도 실제로는 인풋을 focus() 시키기 때문에 pignoseCalendar가 실행되는 거예요.✅ 정리하면:pignoseCalendar는 input의 focus 이벤트를 후킹해서 달력을 띄움.Bootstrap input-group-append는 ..

Front/JS & jQuery 2025.09.01
728x90
반응형