이 질문의 요지는 es5에서 class 문법에 대한 질문은 아닙니다.
어떻게 코드를 작성하고 클래스를 구현하는지 공유받고자 합니다.
먼저 제가 작성한 코드의 예시를 보여드리겠습니다.
(function () {
function Search () {
// 1
var _date = new Date()
var _getToday = function () {
var year = _date.getFullYear()
var month = _date.getMonth() + 1
var day = _date.getDate()
return _dateToYyyyMmDd(year, month, day)
}
var _el = {
dateFrom: document.getElementById('dateFrom'),
....
}
....
// 2
this.getDateFrom = function () {
return _el.dateFrom.value
}
this.api = function (param, callback) {
//doSomething
}
// 3
document.getElementById('dateFrom').value = '초기화값'
}
var search = new Search()
// 4
document.getElementById('btnSearch').addEventListener('click', function(evt) {
search.api(param, function (response) {
// doSotemthing
})
})
}())
한 화면에서 검색조건을 관리하는 Search
class가 소스에는 아래와 같은 것들이 있습니다.
- private 변수
1.1. Date 객체 변수
1.2. 오늘의 날짜를 구하는 함수 변수
1.3.Search
class와 관련있는element
변수 -
Search
class의static function
-
Search
class와 관련있는element
값 초기화 -
btnSearch
id를 가진 element가click
이벤트가 일어났을때Search
class의api
함수를 호출,
callback을 받아서 처리
이런식으로 코드를 작성하였습니다. 제가 궁금한점은 아래와 같습니다.
- class 에서
data
만 관리하는지? 관련있는element
도 저처럼 변수로 선언하시는지? - class 생성될 때, 관련있는
element
의 초기값 설정같은 작업의 코드도 포함시키는지?
크게는 이런점들이 궁금하고, 저의 코드 예시를 보시고 많은 지적 부탁드립니다.
제가 묻고자하는 궁금점이 잘 전달되었는지 모르겠네요.
읽어주셔서 감사합니다.