TIL 2일차 JS기초1 변수 타입 함수

shleecloud·2021년 7월 20일
0

Codestates

목록 보기
2/95

TIL 2일차 JS기초1 변수 타입 함수

2일차는 자바스크립트 기초다. 완전 처음 개념을 배우는 거라 그다지 어렵진 않지만 개념적인 이해를 다지고 넘어가는 데에 의미를 가지기로 했다. 오늘 TIL은 최대한 단순하게 가볼까. 루틴 하는 것처럼 해보고 싶다.

변수

  • 프로그래밍은 데이터 처리를 하는 것임을 이해한다.
  • 변수 사용은 데이터를 편리하게 저장하고 꺼내 쓰는 것임을 이해한다.
  • 변수의 선언과 값의 할당에 대해서 설명하고 코드로 작성할 수 있다.
  • 값으로 변환된 표현문이 변수에 할당되어 담기는 과정을 설명할 수 있어야 한다.
  • 자바스크립트에서 변수의 선언과 값의 할당에 대해서 설명할 수 있다.

파이썬과 다르게 선언하는 부분이 있구나. 혼자 찾아본 부분으로는 let과 const와 var 그리고 아무것도 없이 선언하기에 대한 차이를 배웠다.

셋의 차이를 명확하게 정리해야 한다.
추가로 hoisting에 대한 개념도 빠질 수 없다.

  • var는 재선언 가능 재할당 가능
  • let은 재선언 가능 재할당 불가능
  • const 재선언 불가능 재할당 불가능 (constant - 끊임없는, 불변의)
  • 아무것도 없이 선언하면 지역변수에 있어도 전역변수 취급

타입

  • 자바스크립트에서 원시 자료형과 참조 자료형이 무엇인지 알 수 있다.
  • 원시 자료형 string, number, boolean, undefined의 의미를 이해할 수 있다.
  • 타입마다 다른 속성과 메소드가 있다는 것을 이해할 수 있다.
  • typeof 를 활용하여 특정 값의 타입을 확인할 수 있다.
  • 비교 시 엄밀한 비교( === 과 !== )의 필요성을 이해할 수 있다.

함수

함수 Intro

  • 함수가 "작은 기능의 단위"라는 것을 이해할 수 있다.
  • 함수 선언을 위해 필요한 keyword, name, parameter, body에 대해 이해할 수 있다.
  • 함수 선언과 호출의 기초적인 작동 원리를 이해할 수 있다.
  • 함수가 선언되어 함수 표현식이 변수에 담기는 과정을 설명할 수 있다.
  • 함수의 결과값이 변수에 할당되어 담기는 과정을 설명할 수 있다.

함수 기초, 함수 실습

  • 함수의 호출과 리턴에 대해서 이해하고, 실제 코드로 작성하여 활용할 수 있다.
  • 함수 그 자체(func)와, 함수의 호출(func())를 구분하여 사용할 수 있다.
  • 매개변수(parameter)와 전달인자(argument)를 구분하여 사용할 수 있다.
  • 같은 기능을 하는 함수를 선언식, 표현식, 화살표 함수로 바꾸어 표현할 수 있다.

파이썬과 다르게 선언 방법이 3가지나 있다. 특히 함수 표현식과 함수 선언식이 조금 헷갈렸는데 내 안에서 정리하기로 한 방법이 있다.
이것이 함수다!! 라고 선언한 건 함수 선언식

  • function getRectangleArea (width, height) {
    함수를 표현했다!! 라고 변수에 함수를 표현한 건 함수 표현식
  • let getRectangleArea = function (width, height) {
    난 lambda의 친구다!!! 싶은 녀석이 화살표 함수다. 아마 한 줄짜리 간편 연산에 쓰게 될 것 같다.
  • let getRectangleArea = (width, height) => width * height

혼자 찾아본 부분은 이 셋의 차이점과 장단점이다. 추가 정리가 필요하다.

코드 학습법

모르는 것을 검색하는 방법

  • 자바스크립트와 소프트웨어 개발에 대한 궁금한 것을 구글링으로 해결할 수 있다.
  • 에러를 해결하기 위해 구글링할 수 있다.

크롬 개발자 도구 사용법

  • Chrome developer console의 기본적인 사용법을 이해할 수 있다.
  • Chrome developer console에서 JavaScript의 입력/출력을 확인할 수 있다.
  • 문법 에러를 최소화할 수 있다.
  • 에러가 발생했을 때 발견할 수 있다.
  • debugger 키워드를 활용해 코드를 단계적으로 실행시킬 수 있다.

크롬 개발자 도구도 좋지만 reple.it 도 간편해서 좋았다. 둘 다 번갈아가면서 썼다.

debugger 관련 내용은 따로 없었는데 이것도 추가 정리가 필요하다.

조건문

조건문 기초, 퀴즈, 실습

  • truthy와 falsy 가 조건문에서 작동하는 방식을 이해할 수 있다.
  • 비교연산자를 통한 엄격한 비교(=== , !==)에 대해 이해할 수 있다.
  • if 와 else if , else를 이해하고 무리 없이 활용할 수 있다.
  • 논리연산자를 (&&, ||, ! ...)을 통해 복잡한 조건을 간결하게 작성할 수 있다.

조건문 문제로 에러 메세지 알아보기

  • 코플릿 에러 메세지 읽는 법을 배우고, 이를 기반으로 작성한 코드를 수정하는 방법을 배웁니다.

조건문 문제로 배우는 알고리즘

  • 코플릿 조건문 13번 문제 해결 방법을 익히면서, 문제를 체계적으로 해결하는 방법을 배운다.
  • 복잡한 조건문을 활용하여, 실생활에서 쉽게 마주하는 문제를 해결하기 위한 알고리즘을 구현할 수 있다.

비교 연산자 중 엄격한 비교와 간편한? 비교에 대한 부분이 흥미로웠다. 파이썬도 is와 '=='의 개념이 있었지. JS 상의 '==' 비교에서 Truthy와 Falsy 부분의 변형과 예외가 재밌었다.
and, or, not 구분이 특수문자인 것도 다른 점이었다.
expected undefined to be true. 'undefined'가 'true'이길 기대했다.

첫 페어와 코플릿

얼굴 보면서 화상 통화라니. 뭔가 긴장되고 떨린다. 처음 시작할 때가 제일 어색한 것 같다. 그래도 코딩이라는 같은 관심사가 있다 보니 대화가 잘 풀려서 얼떨결에 아이스브레이킹이 된 것 같다. 과제 자체는 둘 다 전공자였고 어려운 편이 아니라서 쉽게 끝났다. 앞으로의 일정에 대한 얘기라던가 개념적인 부분을 서로 잡아주는 대화를 많이 했다. 그리고 맥북 유저라는 부분도 같아서 관련된 주제로도 이야기를 많이 해서 즐거웠다.

페어를 하게 된다면 최대한 조심스럽게 다가가려고 한다. 문제를 해결하려고 하다 보면 언젠가 의견 충돌이 있을 거다. 계속 긴장되고 딱딱한 자세로 하는 건 아니지만 최대한 존중하고 경청하는 것을 목표로 하자. 오늘은 아직 쉬워서 네비게이터 할 틈도 없이 끝나버려서 아쉽지만 더 어려운 문제를 서로 헤쳐나갈 때 만나는 나 자신의 모습을 봐야 더 배울 점이 있을 것 같다.

추가 공부

글 중간중간에 꺾쇠 표시로 하이라이트를 줘봤다. 초반이니 개념적인 부분과 언어의 특성을 정리할 것 같다. 자세하게 정리해서 누군가 참고해도 될 만큼의 퀄리티로 해볼까. 욕심일 수도 있지만 그 정도 해야 배웠다고 말할 수 있다.

마치며

간단하게 쓰려고 했는데 쓰다 보니 길어지는구나. 나중에 감당 어떻게 하려고? 배울게 많은 시작이라 그런 거겠지? 적당히 정리하고 내일을 위해 일찍 잡시다.

profile
블로그 옮겼습니다. https://shlee.cloud

0개의 댓글