오늘 공부한 내용

  • 항해99 Pre-Onboarding 1일차
  • Javascript 기초문법(변수선언, 대입연산자, 자료형, 불리언 연산, 조건문, 논리연산자, 반복문, 함수, 화살표함수, 익명함수,  구조분해 할당)에 대해서 배웠다.
  • TIL을 작성하는 방법에 대해서 특강을 듣고 구글링을 통해 자세한 예제들을 찾아보았다.

어려웠던 내용

  • 자바스크립트의 기초문법이고 예전에 알고 있던 내용이라 크게 어려웠던 점은 없었다!  

궁금한 내용 / 부족한 내용

  • 궁금한 내용이랄까.. 알고 있었던 내용이었지만 놓고 생각하지 않았던 hoisting에 대해서 이번 기회를 빌려 한번 더 숙지하게 되었다.
value; // undefined, var,일반함수는 변수 선언이 위로 끌어올려지며 그 다음에 값이 할당된다.
var value = 10;

------------------

value; // 에러, let,const는 호이스팅이 발생하지 않는다.

let value = 10;​

 

호이스팅은 코드가 실행하기 전 변수 및 함수 선언이 해당 스코프의 최상단으로 끌어 올려진 것 같은 현상을 말한다. 

자바스크립트는 코드를 실행하기 전 실행 가능한 코드를 형상화하고 구분하는 과정을 거치게 된다. 

실행 컨텍스트실행 가능한 코드가 실행되기 위해 필요한 환경을 의미하고 실행되기전 이러한 실행 컨텍스트 과정(코드를 구분하는 과정)을 거친다.

그러나 선언이 코드 실행 보다 먼저 메모리에 저장되는 과정으로 인한 현상(호이스팅)으로 인해 호출했을 경우 위의 코드와 같이 오류없이 값이 나오게 된다.

 

 

 

  • 연습문제를 풀어보면서 함수 안에 코드를 만들때 if문을 사용할때 코드를 간결하게 나타낼 수 있도록 습관을 가져야겠다. 항상 코드를 작성할때, 작성을 한 후에 다시 생각한 후 내용을 정리를 하는 경우가 많은 것 같다.  
/*
요구사항: persons 변수로 입력받은 값의 사람들에게 맥주 주문을 받습니다.
성인(19세 이상)인 경우에만 맥주 주문을 받아 맥주를 제공할 수 있도록 해주세요. 
*/

function isAdult(persons) {
  persons.map((person) => {
   person.age > 19
      ? console.log(`맥주 나왔습니다! ${person.name}님`)
      : console.log(`나이 더 먹고 오세요! ${person.name}님`);
  });
}

let persons = [
  {
    name: "강민승",
    age: 31,
  },
  {
    name: "애기",
    age: 17,
  },
];

isAdult(persons);

 

  • 익명함수를 만드는 방법은 숙지만 하고 있는 상황에서 익명함수의 사용의 의의와 장점을 알게 되는 시간이었다.(일회성 함수로 사용하여 불필요한 메모리를 사용하는 것을 방지하여 낭비를 줄일 수 있다. but 변수로 만드는 것이기 때문에 hoisting이 될 수 없다.)

느낀점

기존에도 자바스크립트나 리액트 기본 개념에 대해서 정리하고 올리는 글을 쓰긴 했었는데,  항상 개념에 대해 정리하는 글은 뭔가 개념에 대해서 알고 있어도 머리 속에서는 질서가 없는 느낌이었다. 

TIL을 오늘 처음쓰게 되면서 알게된 점은 내가 어떤 것을 더 몰랐고, 더 알아야 되는 부분이 어떤 것인지에 대해 명확하게 인지하고 정리하게 되면서 스스로가 알게 되고 확신을 가지게 되었다는 것.

그리고 나는 할 수 있다를 항상 말하고 싶었다. 어느 감사한 분에게 얻은 방법으로, 내 자신에게 희망을 줄 수 있어서 행복하다.

 

내일할일

  • 8시 반 기상! 제발 일찍 일어나서 아침먹고 공부하자. 하루를 길게 사용하고 싶고, 효율적으로 사용하고 싶어. 그리고 공부할때 너무 배고파요.
  • 혼자공부하는자바스크립트 챕터3

'TIL & WIL' 카테고리의 다른 글

221109_TIL  (0) 2022.11.09
221108_TIL  (2) 2022.11.08
ui 수정 및 페이지 배치 변경  (0) 2022.10.27
회원가입 - 버튼 클릭 중복 제거  (0) 2022.10.26
회원가입 - 유효성검사 & 암호화  (0) 2022.10.25

+ Recent posts