함수형 프로그래밍에서 예외적 데이터 들어오는 거에 대해 다형성을 높이는 것으로 해결
const _length = _get('length')
function _each(list, iter){
for(let i =0, len = _length(list); i<len; i++) {
iter(list[i])
}
return list
}
function _is_object(obj){
return typeof obj == 'object' && !!obj
}
function _keys(obj) {
return _is_object(obj) ? Object.keys(obj) :[]
}
Object.keys({name: 'i'})
Object.keys([1,2,3])
Object.keys(10)
_keys(null)
function _each(list, iter){
let keys = _keys(list)
for(let i =0, len = keys.length; i<len; i++) {
iter(list[keys[i]])
}
return list
}
// each 외부 다형성 높이기
_each({
13: 'id',
19: 'dd',
29: 'td'
}, function(name){
console.log(name)
})