230904 - 230910
📍 개발 2주차
- 개발 진행 및 완료상황. 무엇을 더 하면 좋을지
- 생활코딩 javascript (38강)
- 스파르타 코딩클럽 javasctript 코드북
- 스파르타 코딩클럽 2주차 javacript 기본강의(12강)
- 업무, 개발 중 발생한 이슈/고민 또는 이를 해결한 내용
- javascrip 코드 작성시 대/소문자를 구분해야한다. 변수에서 대소문자 구분없이 막 쓸 경우 코드가 돌아가지 않는다.
- 오늘 새로 배운내용
- 코드북을 공부하며 이해가 되지 않는 내용들을 많이 접했는데 생활코딩을 들으며 많은 이해를 했다. 특히 Method, Property, Function관련해서 구분할 수 있게 되었다.
- Method라는 것은 Object에 Function을 넣어 구현한 기능을 정리한 것인데 보통 Object.Function의 형식으로 쓰고 Object에 미리 목록을 넣어놨기 때문에 Object.Function(값)만을 통해 기능을 구현할 수 있다.
- 그리고 그 Object값 안에 들어가는 내용들이 Property이다. 예를 들면 객체를 만들었을 때 ’이름: 철수’, ‘직업: 프로그래머’ 라고 할 때 앞의 분류 카테고리인 이름과 직업이 Property인 것이다.
- onclick과 같은 이벤트 내에서는 자기자신을 지칭할 때 this를 넣어서 코드를 짧게 줄일 수 있다. 하지만 이 코드가 리팩토링이든 아니면 다른 이유로 바깥으로 빠져나갈 때는 this값을 원래의 이름으로 다시 지정해줘야 한다.
- iteration에 대해서도 새로 알게 되었다. 객체를 전부 꺼내올 때 이터레이션을 사용하는데 for(var key in coworkers) { document.write(key+'<br>') }
- 와 같은 형태로 객체의 모든 내용을 꺼내온다.
- 오류가 어디서 났는지에 대해 알게 되었다. 웹페이지 - 검사 - console 부분에 들어가면 동작을 실행시켰을 때 오류가 나면 오류 메세지를 볼 수있는데 html:20 과 같은 형태로 나오게 된다. 이 말인 즉슨 코드의 20번째 줄에서 작동이 안되어 오류가 생겼다는 의미이다.
- 참고할 만한 레퍼런스들
- javascript 코드북 : P art.01 Hello World - javascript handbook (gitbook.io)
- 기본적으로 내장되어 있는 객체, 메서드(모듈 or API) : console - Web APIs | MDN (mozilla.org)
- 특이사항(아이디어 메모)
- 함수나 메서드, 객체를 작성함에 있어서 function, var로 내가 원하는 기능을 만들 수 있는데 기본적으로 사용했던 document.write()라는 객체 메서드는 우리가 document라는 객체를 지정해 준 적도 없고 write라는 메서드에 대해서도 지정해 준 적이 없는데 잘 작동했다. 그렇다면 documen와 write는 기본적으로 js에서 구현해주는 기본적인 함수 중 하나인가? 아니면 그냥 임의로 아무거나 쓰고 뒤에{}부분에서 함수를 정의해주기 때문에 그런건가?
내가 생각한 부분이 얼추 맞았다. 내가 document라던가 console이라는 객체를 만들어 주지 않고 그에 할당된 메서드인 write와 log와 같은 것들 또한 만들어 주지 않았다. 하지만 이 기능들이 작동되는 이유는 각 언어마다 Module과 API를 통해 기본적으로 객체가 저장되어 있다는 것을 알게 되었다. - 회고
- javascript를 기본부터 공부하며 많은 내용들을 다뤄봤는데 이제 이해’만’ 끝낸부분이고 아직은 갈 길이 먼 것 같다.
- 특히 리팩토링 부분에서 많은 어려움을 느꼈는데 리팩토링을 하는 과정 자체는 별 어려움이 없었지만 리팩토링을 다 하고 난 뒤의 코드는 오히려 읽기 더 어려웠던 느낌이었다. 아직 익숙하지 않아서 그런거겠지?
- javascript 기본 인강을 끝마쳤지만 처음부터 끝까지 나 혼자 다시는 못만들것 같다. 주말을 이용해서 도움없이 혼자서 만들어 봐야겠다.
- To Do List