[20220716 S]

devbit4 [front-end developer]·2022년 7월 16일
0

TIL

목록 보기
88/163

11:00-12:00 : E 힙어브덕션, 렛풀다운, 사레레,
16:00-18:00 : S
19:00-20:00 : W
20:00-24:00 : R

TODO
일월-여행 (Clarisse postpone)
화-(지라 관련자 옮겨놓기/..)


function createElement(type, props){
	switch(type){
    	case "h1":
        	return [document.createElement('h1')]
            .map(element=>{
            	Object
                .entries({...props,"data-id":"title"})
                .forEach([name,value]=>delement.setAttribute(name,value))
                return element;
            })[0]
        case "div":
        	return [document.createElement("div")]
            .map(element=>{
            	Object
                .entries({...props,"data-id":"layout"})
                .forEach([name,value]=>element.setAttribute(name,value))
                return element;
            })[0]
    
    }

}

document.querySelector("#root").appendChild(createElement("h1",{}))

변경용이성 => 변경범위와 테스트 범위 같게 => 소프트웨어의 안정성, 구조적 안정성

어떤 것이 변화했을 때 개별함수만 변경할 수 있도록!!


function createH1(props){}
return [document.createElement('h1')]
            .map(element=>{
            	Object
                .entries({...props,"data-id":"title"})
                .forEach([name,value]=>delement.setAttribute(name,value))
                return element;
            })[0]
            
function createDiv(props){
return [document.createElement("div")]
            .map(element=>{
            	Object
                .entries({...props,"data-id":"layout"})
                .forEach([name,value]=>element.setAttribute(name,value))
                return element;
            })[0]
}


const createMap={
	h1:createH1,
    div:createDiv
}


function createElement(type, props){
	return createMap(type)(props);
}

클로져

profile
제대로 꾸준하게 / 블로그 이전 => https://dailybit.co.kr

0개의 댓글