자바스크립트의 데이터타입에 따라, 숫자는 0으로 초기화 하고, 문자열은 "" 으로 초기화 한다던가 할 수 있다.
json 객체는 그 안에, 숫자,문자,배열,함수,nested 객체 등의 여러 형식을 포함 할 수 있다.
jquery 의 $.each 를 통해서, 객체 개개의 항목에 접근할 수 있고,
또 자바스크립트의 typeof 를 통해, 각 항목의 데이터 타입을 알아낼 수 있다.
typeof 로 알아 낼 수 있는 데이터타입은 6가지가 있다.
"number", "string", "boolean", "object", "function", "undefined"
|
jquery 에서도 typeof 와 비슷한 함수를 제공하는데,
$.type 을 이용하면, typeof 의 6가지 외에,
"null", "array", "date", "error", "symbol", "regexp" 등의 형식도 알 수 있다.
참고 : https://api.jquery.com/jQuery.type/
|
실제로, typeof 에서는 대부분 object 로 구분하는 형식에 대해서, $.type 은 상세한 형식을 알려주는 것을 볼 수 있다.
typeof([])
$.type([])
typeof(null)
$.type(null)
typeof(/test/)
$.type(/test/) |
이제, $.each 와 $.type 을 이용하여, object 를 초기화 하는 함수를 만들 수 있다.
$.ObjectInitialize = function (obj) {
$.each(obj, function (item_name, item) {
if (datatype == "number")
} |
배열은 [] 으로 초기화 하고, object 는 {} 으로 초기화 하고 있다.
a = { x:10, y:"10", z: { k:10, l:"abcd" } };
$.ObjectInitialize(a); |
위에서는 nested object 를 처리하지 않고 있지만, 중첩 객체도 다시, 초기화를 할 수 있다.
$.ObjectInitialize = function (obj, deep) {
$.each(obj, function (item_name, item) {
if (datatype == "number")
} |
deep 옵션에 따라 nested objet 도 초기화 하도록 변경을 했다.
a = { x:10, y:"10", z: { k:10, l:"abcd" } };
$.ObjectInitialize(a, true); |
'개발팁' 카테고리의 다른 글
[C#] 파일시스템의 폴더감시 FileSystemWatcher (1) | 2019.03.19 |
---|---|
[javascript] 웹사이트에서 화면잠금 (ScreenLock) 기능 구현 (0) | 2018.12.26 |
[vue.js] 컴포넌트간의 통신, 전역이벤트 / 컴포넌트이벤트 (0) | 2018.12.14 |
[vue.js] nested object 에 Observable 데이터 추가하기 (0) | 2018.12.14 |
jquery 의 $.ajax 에 Promise 패턴 이용하기 (0) | 2018.11.07 |