분류 전체보기
[JavaScript][clean-code] 순수 함수(pure function)
* 순수 함수(pure function) - 부작용(side effect)을 일으키지 않는 함수 * 부작용 (side effect) list Logging a value to the console Saving a file Setting an async timer Making an AJAX HTTP request Modifying some state that exists outside of a function, or mutating arguments to a function Generating random numbers or unique random IDs (such as Math.random() or Date.now()) * 순수 함수가 아닌 예시 (BAD) let num1 = 10; let num2 =..
[JavaScript][clean-code] Callback Function
* Callback Function - callback function을 이용한 함수 위임 * callback function 사용하기 전 // callback함수 사용전 function register() { const isConfirm = confirm( '회원가입에 성공했습니다.', ); if (isConfirm) { redirectUserInfoPage(); } } function login() { const isConfirm = confirm( '로그인에 성공했습니다.', ); if (isConfirm) { redirectIndexPage(); } } * callback function 사용후 // callback 사용후 function confirmModal(message, cbFunc) { ..
[React_study] Redux state가 object/array일 경우 변경 방법
* store에 저장된 state가 array, object 자료인 경우 Immer.js 라이브러리가 state사본을 하나 더 생성해주어서 직접 수정하는 문법도 잘 변경 된다. (Redux를 설치하면서 Immer.js라이브러리가 같이 설치되었다.) array/object자료의 경우 state변경을 state를 직접 수정해버려도 잘 된다. (참고) 그래서 state를 만들 때 문자나 숫자 하나만 필요해도 redux에서는 일부러 object아니면 array에 담는 경우가 있다. 수정이 편리하기 때문에 let user = createSlice({ name : 'user', initialState : {name : 'kim', age : 20}, reducers : { changeName(state){ stat..
[error] react-scripts: Permission denied
- 리눅스나 맥에서 도커환경 혹은 데이터 마이그레이션을 하게 되면서 서버가 바뀌면 리엑트가 권한 문제가 해결이 안되서 이러한 문제가 종종 발생한다. 그래서 Stackoverflow나 여러 군대 찾아본결과 아래와 같은 명령어를 통하면 대부분은 해결이되는 것 같았다. * Solution 1 npm install react-scripts --save 리엑트가 node_modules를 참고해서 빌드해야 하는데 아래와 같이 node_modules 권한도 풀어줄 필요가 있다. sudo chmod +x node_modules/.bin/react-scripts 본질적인 문제를 해결해보자 먼저 sudo 관리자 권한으로 빌드를 진행해보자. /* 실행할 명령어를 입력 */ sudo npm run build sudo npm ..
[JavaScript][clean-code] 화살표 함수 (Arrow function)
* 화살표 함수 (Arrow function) [참조 내용] https://latte1114.tistory.com/367 * 예시 코드 // arrow function const user = { name : 'Hyeonwoo', getName : () => { return this.name; }, }; user.getName(); // undefined // 일반 method const user = { name : 'Hyeonwoo', getName() { return this.name; }, }; user.getName(); // Hyeonwoo 화살표 함수로 this.name에 접근시 undefined가 반환된다. 일반 메서드로 this.name에 접근시 정상적으로 this.name의 값이 반환된다...
[JavaScript][clean-code] void & return
* void & return void : 함수의 반환이 없다. return : 함수가 무언가를 반환한다. * 예시로 보는 void와 return function handleClick() { return setState(false); } function showAlert(message) { return alert(message); } setState함수와 alert함수를 void함수이다. 따라서 함수의 반환이 존재하지않는다. 따라서 return을 넣어주지 않아도 된다. 굳이 반환이 없는데 return을 사용할 필요가 없다. undefined가 return된다. * JavaScript는 기본적으로 아무런 return이 없을때는 undefined를 return한다. function test(sum1, sum2..