const pagingParam = {pageNum = 1};
getList(pagingParam);
function getList(pagingParam){
param = {
...pagingParam,
pageRows: $("#pageRows").val(),
searchColumn: $("#searchColumn").val()
}
//생략
}
다른 분의 소스를 분석하던 중, ...pagingParam 은 왜 ...이 붙을까 궁금해서 찾아보았다!
이건 '비구조화 할당 문법'으로 배열이나 객체의 속성을 해체하여 그 값을 개별 변수에 담을 수 있게 하는 자바스크립트 표현식이다!
...pagingParam 으로 쓰면, 넘겨받은 pagingParam 배열 안에 들어있는 값들을 다 할당해준다!(주소값이 아니라 값들을 할당)
따라서 param = {pageNum = 1 , pageRows: $("#pageRows").val(), searchColumn: $("#searchColumn").val() } 이렇게 된다!
예시 하나 더
const arr = [1, 2, 3]
let copy1 = arr; //주소값을 복사
let copy2 = [...arr]; //값을 복사
arr[0] = 100;
console.log(arr); // [100, 2, 3]
console.log(copy1); // [100, 2, 3]
console.log(copy2); // [1, 2. 3]
------------------------------------------------------------------------------------------------------------
오늘 이걸 사용하여 수정한게 하나 있어서 추가하려고한다!
공통 js 로 datepickerOption 이 정의되어있는데.. 나는 기본정의된 것 말고 추가적인 옵션을 주고싶어서 수정!
const dateUtil = (function() {
//default datepicker style option
const datepickerOption = {
firstDay: 0,
//..생략..
showAnim: 'fadeIn',
};
return {
//이게 기존 소스!
datepicker: (selector) => {
$(selector).datepicker(datepickerOption);
},
//이게 변경한 소스!
datepicker: (selector, option) => {
$(selector).datepicker({...datepickerOption, ...option});
},
}
})();
기존에 datepicker 를 사용할때,
dateUtil.datepicker("input[data-datepicker]");
이렇게 호출했었는데,
만약 추가 옵션 설정이 필요한 경우에는
dateUtil.datepicker("input[data-datepicker]", {minDate: new Date(),});
이렇게 배열을 넣어주면 옵션이 추가로 셋팅가능하다!
* 만약 datepickerOption 에 이미 설정된 옵션을 덮어쓰고 싶다면 {...datepickerOption, ...option}
datepickerOption에 설정된 값은 건드리지못하게하고 추가 옵션만 주도록 하려면 {...option, ...datepickerOption} 이렇게 쓰면 된다.
순서에 따라 배열을 더할때 뒷 부분의 값을 따르기때문!
'개발 > html, css, javascript' 카테고리의 다른 글
SheetJS 를 이용하여 xlsx 데이터 를 json 으로 만들기 (0) | 2023.01.26 |
---|---|
Javascript 배열, 배열 함수 정리 (1) | 2022.11.29 |
(html) data-* attributes 사용하기 (0) | 2022.04.29 |
서버의 설정값(*.properties) 을 JavaScript (.jsp, .js)에서 사용하기. (2) | 2022.04.13 |
COOKIE(쿠키)에 ID 값 저장하기. ID 저장 체크박스 만들기. (1) | 2022.02.10 |