JavaScript에서 문자열에 포함된 모든 대문자를 문자열의 맨 앞으로 이동시키고 싶다면 sort() 메서드와 정규 표현식 /[A-Z]/를 함께 활용하면 간단하게 해결할 수 있습니다.예제 문자열다음과 같은 문자열이 있다고 가정해 보겠습니다.my name is JOHN SMITH해결 방법문자열을 개별 문자 배열로 변환한 뒤, sort() 메서드와 대문자를 검사하는 정규 표현식을 사용하여 대문자를 앞쪽으로 정렬합니다.var moveAllCapitalLettersAtTheBeginning = [... my name is JOHN SMI
JavaScript에서 클래스로 생성한 객체의 특정 속성 값이 변경되었는지 확인하고, 그에 따라 다른 값을 갱신해야 하는 경우가 있습니다. 이럴 때 활용할 수 있는 핵심 개념이 바로 getter, 즉 get 프로퍼티입니다. getter를 사용하면 속성에 접근하는 시점에 최신 값을 동적으로 반환받을 수 있어, 값의 변화를 손쉽게 추적할 수 있습니다.예제 코드아래 예제는 Student 클래스를 정의하고, getter를 통해 학생 점수(studentMarks)의 변경 여부를 확인하는 방법을 보여줍니다.class Student{ c
isNaN() 함수란?JavaScript에서 isNaN() 함수는 전달된 값이 NaN(Not-a-Number), 즉 유효하지 않은 숫자인지를 판별하는 데 사용됩니다. 숫자 연산 과정에 문자열 같은 잘못된 입력값이 포함되면 결과가 NaN이 되는데, 이때 isNaN()으로 오류 여부를 손쉽게 확인할 수 있습니다.아래 예제는 콜백 함수와 함께 isNaN()을 활용해 곱셈 결과의 유효성을 검사하는 방법을 보여줍니다.예제 코드function multiplication(firstValue, secondValue, callback) { 
웹 개발을 하다 보면 버튼 클릭 한 번으로 사용자를 이전 페이지로 되돌려 보내야 하는 경우가 자주 있습니다. 이럴 때 JavaScript의 history 객체를 활용하면 아주 간단하게 구현할 수 있습니다.window.history.go(-1)란?버튼 클릭 시 이전 페이지로 이동하려면 다음 코드를 사용합니다.window.history.go(-1)history.go(-1)는 브라우저의 히스토리 스택에서 한 단계 뒤로 이동하는 메서드입니다. 마치 브라우저의 뒤로 가기 버튼을 누른 것과 동일한 효과를 냅니다. 숫자를 변경하면 원하는 만큼
JavaScript에서 일정한 시간 간격을 두고 요소의 스크롤 위치를 자동으로 조정하려면 scrollTop과 scrollHeight 속성의 개념을 활용하면 됩니다.핵심 개념scrollTop: 요소가 현재 수직 방향으로 스크롤된 픽셀 값을 나타냅니다. 이 값을 변경하면 스크롤 위치가 즉시 이동합니다.scrollHeight: 스크롤되지 않은 영역까지 포함한 요소 전체 콘텐츠의 높이를 의미합니다.따라서 scrollTop에 scrollHeight 값을 대입하면 해당 요소가 항상 맨 아래로 스크롤됩니다. 여기에 setInterval()을 조
정규식에서 한 번 매칭한 패턴을 다시 사용해야 하는 경우가 있습니다. 예를 들어 10 10 10처럼 동일한 숫자가 공백으로 구분되어 반복되는 문자열을 검사하고 싶다면, 캡처 그룹(capture group)과 역참조(backreference)를 함께 사용하면 됩니다.핵심은 괄호 ()로 감싼 패턴을 캡처한 뒤, \1과 \2 같은 역참조로 해당 패턴을 다시 불러오는 것입니다. 아래 예제를 통해 자세히 살펴보겠습니다.예제 코드var groupValues1 = "10 10 10"; var groupValues2 = &quo
스택(Stack)은 LIFO(Last In First Out, 후입선출) 원리로 동작하는 자료구조입니다. 즉, 가장 나중에 삽입된 요소가 가장 먼저 제거됩니다. 따라서 첫 번째 스택의 모든 요소를 다른 스택으로 옮기려면, pop() 메서드로 첫 번째 스택에서 요소를 하나씩 꺼낸 뒤, push() 메서드로 두 번째 스택에 순서대로 삽입해야 합니다.예제 코드아래 예제는 for 루프 조건식에서 배열의 length 속성을 활용하여, 첫 번째 스택이 빌 때까지 반복하면서 모든 요소를 두 번째 스택으로 이동시키는 방법을 보여줍니다.var my
웹 개발에서 버튼을 클릭한 후 입력 필드(텍스트 박스)를 자동으로 비워야 하는 상황은 매우 자주 발생합니다. 가장 간단한 해결 방법은 버튼에 onclick 이벤트를 지정하고, 함수 안에서 해당 요소의 value 값에 빈 문자열을 할당하는 것입니다. 핵심 코드 버튼에 onclick=yourFunctionName() 형태로 클릭 이벤트를 연결한 뒤, 함수 내부에서 다음 한 줄만 작성하면 됩니다. document.getElementById().value = ; getElementById()로 대상 입력 필드를 선택한 후 value 속성에
JavaScript로 개발하다 보면 두 개의 배열을 하나로 묶어야 하는 상황이 자주 발생합니다. 예를 들어 다음과 같은 두 개의 배열이 있다고 가정해 보겠습니다.var firstArray = [John, David, Bob]; var secondArray = [Mike, Sam, Carol];이처럼 각각의 배열에 담긴 값들을 인덱스 기준으로 짝지어 하나의 객체 배열로 결합하려면 JavaScript의 map() 메서드를 활용하는 것이 가장 간단하고 효율적입니다. map()은 원본 배열의 각 요소를 순회하면서 콜백 함수가 반환하는 값으
자바스크립트에서 배열은 length 속성을 제공하지만, 일반 객체에는 이러한 속성이 기본적으로 존재하지 않습니다. 그렇다면 객체에 담긴 속성의 개수, 즉 객체의 길이는 어떻게 구할 수 있을까요?예제 객체 준비하기먼저 다음과 같은 학생(Student) 객체가 있다고 가정해 보겠습니다.var studentObject = new Object(); studentObject[studentFirstName] = John; studentObject[studentLastName] = Doe; studentObject[studentAge] = 22
JavaScript에서 상속 관계에 있을 때 부모 클래스와 자식 클래스가 같은 이름과 시그니처를 가진 메서드를 정의하고 있다면, 기본적으로 자식 객체는 오버라이딩된 자신의 메서드를 호출하게 됩니다. 이런 상황에서 부모 클래스의 원본 메서드를 직접 호출해야 할 때가 있습니다.부모 메서드를 호출하는 문법이 경우 prototype과 call() 메서드를 조합하여 아래와 같은 문법으로 부모의 메서드를 호출할 수 있습니다.console.log(부모클래스이름.prototype.메서드이름.call(자식객체이름));예제 코드다음 예제는 Super
웹 개발을 하다 보면 사용자가 드롭다운(select)에서 어떤 항목을 선택했는지 확인해야 하는 경우가 자주 있습니다. 이번 글에서는 JavaScript를 이용해 선택된 값을 브라우저 콘솔에 출력하는 방법을 알아보겠습니다.드롭다운(Select) 예제 마크업먼저 다음과 같은 드롭다운이 있다고 가정해 보겠습니다.<select onchange=selectedSubjectName() id=subjectName> <option>Javascript</option> <option>MySQL
JavaScript에서는 toLocaleString() 메서드의 timeZone 옵션을 활용하면 특정 지역의 시간대를 손쉽게 지정할 수 있습니다. 이를 이용해 아시아와 미국 각각의 날짜 및 시간을 표시할 수 있습니다.아시아 시간대 표시하기아시아 시간대(예: 인도 콜카타)를 기준으로 현재 날짜와 시간을 가져오려면 다음과 같이 작성합니다.var todayDateTime = new Date().toLocaleString(en-US, {timeZone: Asia/Kolkata});미국 시간대 표시하기미국 시간대(예: 뉴욕)를 기준으로 현재
여러 객체로 구성된 JSON 데이터를 필터링해야 할 때는 JavaScript의 filter() 메서드를 활용하면 됩니다. filter()는 배열의 각 요소를 순회하면서 주어진 조건을 만족하는 요소만 모아 새로운 배열을 반환하는 배열 내장 메서드입니다.기본 문법배열.filter(obj => 조건식);조건식에는 비교 연산자(예: ==, ===)를 사용해 원하는 값을 가진 객체만 걸러낼 수 있습니다.예제 코드아래 예제는 학생 정보가 담긴 JSON 배열에서 이름이 David인 학생만 추출하는 코드입니다.const jsonObject
jQuery에서 체크박스(확인란)가 선택되어 있는지 확인하는 가장 간단한 방법 중 하나는 toggle() 메서드를 활용하는 것입니다. 체크박스의 클릭 이벤트와 함께 this.checked 값을 전달하면, 체크 상태에 따라 특정 요소를 자동으로 보이거나 숨길 수 있습니다. 예제 코드 아래는 체크박스를 클릭하면 숨겨진 텍스트 영역이 나타나거나 사라지는 전체 예제입니다. <!DOCTYPE html> <html lang=ko> <head> <meta charset=UTF-8> <meta na
JavaScript에서는 쉼표(,)를 사용하면 하나의 명령문으로 여러 변수를 동시에 선언하고 값을 할당할 수 있습니다. 코드가 간결해지고 가독성도 좋아져서 관련된 변수들을 함께 초기화할 때 유용합니다.기본 문법var 변수명1 = 값1, 변수명2 = 값2, 변수명3 = 값3, ... 변수명N = 값N;각 변수와 값은 쉼표로 구분하며, 마지막 변수에는 세미콜론(;)을 붙여 명령문을 종료합니다.예제다음 예제에서는 하나의 명령문으로 세 개의 변수를 선언하고 각각 문자열 값을 할당한 뒤, console.log()
두 개의 객체 배열을 하나로 합치면서 특정 속성값을 기준으로 중복되는 데이터를 제거하고 싶다면 map()과 find() 메서드를 함께 활용하면 됩니다.map()은 첫 번째 배열의 모든 요소를 순회하며 새로운 배열을 생성하고, find()는 두 번째 배열에서 조건에 일치하는 요소를 찾아 대체하는 역할을 합니다. 이 두 메서드를 조합하면 productId와 같은 고유 키를 기준으로 데이터를 병합할 수 있습니다.예제 코드다음은 productId를 기준으로 두 배열을 비교하여 중복된 상품 정보를 교체하는 코드입니다. obj.prod
JavaScript에서 배열의 첫 번째 요소를 가져오려면 간단한 for 루프와 if-else 조건문을 함께 사용할 수 있습니다. 이 방법은 배열에 요소가 존재하는지 먼저 검사한 후, 존재할 경우에만 첫 번째 값을 추출하므로 빈 배열로 인한 오류를 안전하게 처리할 수 있다는 장점이 있습니다.동작 원리핵심 로직은 다음과 같습니다.먼저 배열의 길이가 1보다 큰지 확인합니다. 만약 길이가 1 이상이 아니라면 배열에 요소가 없다는 의미이므로, else 블록으로 이동하여 값을 undefined로 설정하고 콘솔에 적절한 메시지를 출력합니다. 반
JavaScript에서 객체를 배열처럼 순회하며 처리하고 싶다면 Object.keys(), Object.values() 그리고 map() 메서드를 함께 활용하면 됩니다. 객체의 키 목록을 배열로 가져온 뒤, map()을 사용해 각 키에 해당하는 값을 손쉽게 변환하거나 출력할 수 있습니다.예제 코드 { console.log(object[k]) })실행 방법위 프로그램을 실행하려면 Node.js 환경에서 다음 명령어를 입력합니다.node fileName.js여기서는 파일 이름이 demo185.js라고 가정합니다.출력 결과위 코드를 실행
버튼 클릭 한 번으로 여러 체크박스를 모두 선택하거나 해제하려면 id 속성과 함께 jQuery()를 사용하면 됩니다. 버튼의 토글 상태에 따라 toggleClass()와 prop() 메서드를 활용해 체크박스의 선택 여부를 제어하는 방식입니다. 다음은 전체 예제 코드입니다. 예제 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" co