반응형
기본값 매개변수
기본값 함수 매개변수 (default function parameter) 를 사용하면 값이 없거나 undefined 가 전달될 경우 이름붙은 매개변수를 기본 값으로 초기화할 수 있다.
function multiply(a, b = 1) {
console.log(a * b);
}
multiply(5, 2); // console : 10
multiply(5); // console : 5
자바스크립트 함수의 매개변수는 undefined 가 기본이지만, 일부 상황에서 다른 기본값 매개변수가 필요할 때 설정한다.
위의 예제에서 만약 매개변수 b를 기본 값 설정하지 않았다면 multiply(5) 는 b가 undefined가 되어 NaN 이 표출됐을 것이다.
날짜 Date / String → 문자열 포맷 반환
class CmmnFunc {
... 공통함수들
static getDateString(date = new Date(), format = "yyyy-mm-dd hh:mi:ss") {
var eng = /[a-zA-Z]/;
if(typeof(date) == "string") {
format = format.replace(/\|hh24/gi, " hh");
for(var i = 0; i < date.length; i++){
format = format.replace(eng, date[i]);
}
/*date 문자열과 format 길이가 맞지 않는 경우*/
if(format.search(eng) != -1) format = format.substr(0, format.search(eng) - 1);
return format;
}
const yy = date.getFullYear();
const mm = this.addZero(date.getMonth() + 1);
const dd = this.addZero(date.getDate());
const hh = this.addZero(date.getHours());
const mi = this.addZero(date.getMinutes());
const ss = this.addZero(date.getSeconds());
format = format.replace("yyyy", yy);
format = format.replace("mm", mm);
format = format.replace("dd", dd);
format = format.replace("hh", hh);
format = format.replace("mi", mi);
format = format.replace("ss", ss);
return format;
}
/*남은 자리 수 만큼 0 채우기 (기본 값 = 2)*/
static addZero(data, len = 2) {
const dlen = String(data).length;
return (dlen >= len ? data : new Array(len - dlen + 1).join("0") + data);
}
}
공통적으로 자주 사용하는 함수들을 class로 묶어 관리한다.
사용하는 구조는 조금 다르지만, 포스팅 용으로 따라하기 편하게 정적 메소드 (static method) 로만 변경한 것이다.
getDateString 메소드는 date와 format을 파라메터 변수를 갖는다.
date는 Date 타입과 String 타입 모두 가능하다.
만약 넘겨주지 않은 경우 현재 일시인 new Date( ) 데이터가 기본 값으로 할당된다.
format 은 표출하고 싶은 포맷을 설정하면 된다.
기본 값은 "yyyy-mm-dd hh:mi:ss" 이다.
사용 예시
// 현재 일시 : 2022-04-06 16:40:30 인 경우
CmmnFunc.getDateString();
// output : 2022-04-06 16:40:30
CmmnFunc.getDateString("20200406");
// output : 2022-04-06
CmmnFunc.getDateString("20220406101010");
// output : 2022-04-06 10:10:10
CmmnFunc.getDateString("20220406101010", "yyyy/mm/dd hh:mi:ss");
// output: 2022/04/06 10:10:10
728x90
반응형
'Front > JavaScript' 카테고리의 다른 글
[JavaScript] 문자열 특정 문자/정규 포현식 위치 찾기 (indexOf, search) (0) | 2022.04.07 |
---|---|
[Javascript] 자바스크립트의 "특별한 함수" Class의 정의 (0) | 2022.03.18 |
[Javascript] 자바스크립트 strict mode(엄격 모드)에 대해 (0) | 2022.03.17 |
[JavaScript] Custom URL schemes 방식의 VNC 응용프로그램 (서버IP 인자 값 넘기며) 호출 (0) | 2022.01.13 |
[JavaScript] 웹(Chrome)에서 응용 프로그램 실행 시키기 : Registry 이용한 Custom URL schemes 방식 호출 (0) | 2022.01.12 |
댓글