JavaScript 코딩을 하다 보면 데이터의 유효성 체크를 해줘야 할 때가 많이 있습니다. 특히 null 이나 undefined 값에 기본 함수를 사용할 시 에러가 발생할 때가 많이 있습니다. 데이터의 유효성 체크해야하는 경우 // 문자열의 길이를 리턴하는 함수 function getLength(str) { return str.length } getLength("hello") // 5 getLength(null) // error 발생 문자열이나 배열의 길이를 리턴하는 기본 속성 length는 null이나 undefined에 사용할 경우 에러가 발생합니다. 아주 간단한예를 들었습니다만, 직접 프로그램을 짜다 보시면 위처럼 데이터가 유효한 값인지, 빈 값은 아닌지 체크해야 하는 경우를 많이 느끼실 수 있을..
웹 프로그램을 만들 때 아무리 간단한 프로그램이라도 데이터를 저장하지 않는 것은 없을 것입니다. 이럴 때 우리는 주로 데이터베이스 서버에 저장합니다. 하지만 저장해야 할 데이터가 중요하지 않고, 영구 저장할 필요가 없는 데이터라면 서버단에 저장하는 것은 낭비일 수 있습니다. 이럴 때 클라이언트, 즉 브라우저에 데이터를 저장하는 Web API인 localStroage에 대해 살펴보겠습니다. localStorage에 데이터 저장하기 localStorage의 데이터 저장 함수는 localStorage.setItem(key, value)입니다. key와 Value로 저장합니다. Object처럼 접근해 데이터를 추가할 수도 있습니다. // key와 value로 저장합니다. localStorage.setItem('..
JavaScript typeof 연산자에 대해 살펴보겠습니다. 기본적으로 typeof 연산자는 피연산자의 자료형을 문자열로 반환합니다. console.log(typeof 'hello'); // "string" console.log(typeof 110); // "number" console.log(typeof false); // "boolean" function func() { return 1; } console.log(typeof func); // "function" 위 예시를 보시면 typeof연산자는 피연산자의 자료형을 출력하고 있는데 선언되지 않은 변수 또는 함수, 값이 할당되지 않은 변수를 피연산자로 할 경우 undefined가 출력됩니다. console.log(typeof unDeclaredVa..
이번에는 자바스크립트 객체를 복사하는 방법에 대해 살펴보겠습니다. 객체 복사에는 얕은복사 (Shallow Copy)가 있고, 깊은 복사 (Deep Copy) 가있습니다. 얕은 복사는 참조하는 것으로서 복사하여 만들어진 객체를 수정하여도 기존 객체도 함께 수정됩니다. 즉 같은것을 참조하고 있는 것이고 깊은 복사는 다른 객체로 생성되어 수정하여도 기존 객체는 영향이 없습니다. 복사에 방법에는 크게 3가지로 나눌 수 있습니다. 1. 첫번째는 복제하지 않고 참조하는 변수만 만들어 얕게 복사합니다. let sub = {sub: 'sub', time: 1000} let A = {name: 'Aiden', class: 'A', email: 'aiden@naver.com', item: sub}; let B = A; c..
웹사이트에서 입력값을 받을 때 빠질 수 없는 게 날짜와 전화번호입니다 전화번호나 날짜 입력 시에 하이픈(-) 은 빠질 수 없는데요 오늘은 숫자만 입력받고 하이픈(-) 등 특수문자가 자동으로 입력이 되도록 입력창을 제어하는 용도로 공통 함수를 작성하려 합니다 날짜나 전화번호 입력받을 때 유용하게 사용될 거라 생각이 듭니다 자바스크립트 본문입니다 function numberOnlyInput(obj, mark, index1, index2) { /**************************************************************************** 숫자만 입력가능하게하고 원하는 위치에 마크를 추가하게 한다 [전화번호, 날짜 등] obj = 값이 들어가야할 Element mark..