오늘 공부한 내용 📋

JS의 Primitive 타입 변수와 Object 객체 타입 변수의 메모리 구조에 대해서 배웠다. 어느 영역에 저장되는지, deep copy가 되는지 shallow copy가 되는지 등에 대해서 배웠고 메모리 구조에대해서 공부함으로써 JS에서 왜 같은 변수에 다른 타입의 값을 넣어도 오류가 발생하지 않는지 구조적으로 알게 되었다. NodeJS에서 많이 쓰는 모듈의 정의에 대해서 다시 상기하게 되었고 많은 JS 내장 함수들을 공부하였다. filter, map, forEach, split, join 등..

어려웠던 내용 🤢

자바스크립트 메모리 구조를 대충은 알겠지만 정확히는 잘 모르겠다. 아마 내가 비전공자였다면 1도 알아듣지 못했을것 같다. 아마 대충 알아들었다 하더라도 금방 휘발되었을 것이다. 그리고 JS만의 특이한 문법들이 헷갈렸고.. 이를 다 외우기는 불가능해보인다. 실무에서 부딪혀서 익히거나 어디 적어두는 수밖에… 그리고 object의 값에 접근할때 .으로 접근하느냐 []로 접근하느냐 이것의 구분도 명확하지 않아 헷갈렸다. 그리고 callback함수의 정의는 항상 봐도 내가 설명하려고 하면 너무 어렵다. 실무에서 많이 짜보는수밖에 없을까?

궁금한 내용 🧐

실무에서 error || …~~ 와 같은 방식을 사용할까? 저게 무슨 뜻인지 안다면 문제 없고 짧고 간결해서 좋은 코드가 되겠지만 솔직히 JS에 익숙하지 않거나 하는 사람들이 보면 가독성이 별로 좋지 않아보인다. 그냥 코드가 조금 더 길어지더라도 사람이 읽기 좋은 코드로 쓰는게 좋지 않을까? 현업에선 어떤 방식을 선호하는지 궁금하다. 그리고 코딩테스트에서 Javascript로 친다고 하면 NodeJS환경에서 친다고 하는데, 입력받는걸 오늘 배운 모듈 readline을 사용하나? 코딩테스트에선 입출력을 어떻게 쓰는지 궁금하다. 그리고 string은 인덱스로 접근 가능하지만 접근하는 위치에 문자가 없는경우 undefined로 띄워주고 charat은 빈 문자열이 반환되서 에러를 띄우지 않아서 더 좋다는데.. .에러를 띄워줘야 더 좋은거 아닌가?

느낀 점 🤔

오늘 실습시간에 JS의 많은 내장함수들에 대해서 배웠는데 이 함수들을 잘 사용하면 실무 뿐만 아니라 코딩테스트에도 도움이 많이 될것 같다. 이 함수들은 어디 적어놓기보다는(이미 공식문서에 잘 정리되어 있으니까…) 많이 사용하면서 익히는게 좋아보인다. 그리고 모듈.. 입출력 받는 모듈이 정말 어렵던데 코딩테스트에서도 이 방식을 사용하나? 어서 JS로 코딩테스트 문제를 풀어봐야겠다. 함수도 익히고.. 모듈도 익히고… 오늘 수업은 정말 좋았다. 이론 수업 코치님도, 실습 수업 코치님도, 두분 다 너무 잘 가르쳐 주셨다. 이론 수업은 이론 수업답게 JS 문법과 메모리구조까지 다루어 지금까지 그냥 외우기만 했던 개념들을 메모리 구조를 공부함으로써 더 잘 이해하게 되었고 실습 시간에는 여러가지 JS 내장함수를 사용함으로써 자바스크립트답게 문제를 우아하게 푸는 재미를 찾게 되었다. 오늘 수업 시간도 over되고 잠을 좀 늦게 자긴 하겠지만.. 많이 배운 하루였다. 그리고, 공부 할 거리도 많이 찾은 하루였다. 어떻게 공부 하면 할수록 공부할게 배는 되는거같다 ㅎ 😥