전에 올린 리액트 강의와 마찬가지로 클린코드 자바스크립트 강의를 한 챕터씩 듣고 정리한 내용을 바탕으로, 프로젝트에서 내가 짰던 코드를 하나씩 고쳐보려한다.
이번 프로젝트에서 var는 사용하지 않아서, 크게 고칠 부분은 없었고 임시 변수 부분만 살짝 고쳤는데 코드를 읽어보니 대대적인 수술이 필요할듯하다,,,🛠(과거의 나 반성해)
var와 let&const 차이?
var global = '전역'
if(global ==='전역'){
var global = '지역' //지역
}
console.log(global) //지역
let global = '전역'
if(global ==='전역'){
let global = '지역' //지역
}
console.log(global) //전역
var
를 사용할 경우 전역 공간에 저장됨.//나쁜 예시
const selectStepData = data => {
let dataset =
(step === "row-btn1" && data[0]) ||
(step === "row-btn2" && data[1]) ||
(step === "row-btn3" && data[2]) ||
(step === "row-btn4" && data[3]);
return dataset;
};
//썩 좋은 예시는 아닌거같지만(내가 짠 코드)
//이런식으로 임시 변수를 없애고 바로 리턴하는게 좋다고하셨다.
const selectStepData = data => {
return (
(step === "row-btn1" && data[0]) ||
(step === "row-btn2" && data[1]) ||
(step === "row-btn3" && data[2]) ||
(step === "row-btn4" && data[3])
);
};
-> 이 부분을 들으면서 놀란게 나는 임시 변수를 넣어주는게 코드가 더 명확하다고 생각했다. 그렇지만 임시변수를 사용해서 일어날 사이드 이팩트에 대해 전혀 생각해보지 못했다.😱 (js입문자들이 많이 하는 실수라고 하셨다.)
추상화
, 1함수 1역할
, 선언형
을 가슴에 새겨 넣어야겠다.
const sum = function(){
return 1+2;
}