항해99 12기 - 2주차 WIL

지윤·2023년 1월 29일
0

항해99

목록 보기
16/40
post-thumbnail

이번주 주제: JavaScript의 ES란?, ES5/ES6 문법 차이

JavaScript의 ES란?

  • 스크립트 표준 : ECMAScript
  • JavaScript 를 기반으로 만든 범용 스크립트 언어 표준안. ECMA-262 로 제정됨 ( https://tc39.es/ecma262/ )
  • 언어가 준수해야 할 규칙, 세부사항 규정.
  • 나는 JavaScript 의 version 정도로 이해함!

ES5/ES6 문법 차이

템플릿 리터럴

  • Template Literal 문법 (ES6 등장)
    ES6 에는 문자열 조합을 편리하게 할수 있는 방법 제공
    - 이전에는 Template String이라 불렸지만
    - ES2015 명세서 부터는 Template Literal 이라 부름
    backtick (`) 문자 사용한 문자열 포맷팅
      문자열 안에서 ${변수}
      문자열 안에서 ${값}

화살표 함수

  • 화살표 함수 Arrow function (ES6 도입)
    함수를 정의하는 또 다른 방법 (참고)
    (param1, param2, …, paramN) => { statements }
            (param1, param2, …, paramN) => expression
            // 다음과 동일함:  => { return expression; }

변수 선언

  • let, const가 추가
    - let 변수이름 ← 재선언 x, 재할당 o
    -const 변수이름 ← 재선언 x, 재할당 x. 이는 상수(constant) 라 한다. 반드시 선언시 초기화 해야 한다.
  • ES5까지는 var만 썼다.
    -var 변수이름 ← 재선언 o, 재할당 o

호이스팅 개선

  • 위와 연결되는 내용. var를 이용해 호이스팅을 했었는데, 블록 스코프를 가진 let, const를 추가해 이를 방지함!
function test() {
    var na = '나는 천재?';
    console.log(na); // '나는 천재?';
}
// console.log(na); // ReferenceError: na is not defined


if (true) {
    var js = '자바스크립트는 어려워';
}
console.log(js); // 자바스크립트는 어려워;
  • var: Function 스코프 -> 내부에 선언된 var를 외부에서 참조할 수 없지만, 블록 스코프에선 내부에 선언되어 있어도 외부에서 참조 가능!
  • 위의 예시를 보면 function 안에 선언된 var na .. 나..는 천재는 밖에서 콘솔 찍어보면 레퍼런스에러(^^)가 나지만,
  • 블록스코프 안에서 선언한 js는 밖에서 찍어도 참조 가능!
  • 자바스크립트는 어려워
if (true) {
    let js_master = '자바스크립트 마스터';
}
console.log(js_master); 
// ReferenceError: js_master is not defined

if (true) {
    const god_of_js = '자바스크립트의 신';
}
console.log(god_of_js); 
// ReferenceError: god_of_js is not defined
  • let하고 const는 블록스코프 안에서 선언한 것을 밖에서 참조 x!!!
  • 하지만 밖에서 선언한 let, const를 안에서 참조하는 것은 가능하다! (너무 당연하게 써오던 것!)

promise 도입

  • 콜백지옥을 해결 할 promise가 도입됨 ->MDN 참고

이번 주에 배운점 & 느낀점

이번주는 항해99 시작하고 처음으로 프로젝트를 진행하지 않은 주 이다! 처음엔 개인 공부 정도로 생각했는데, 팀원들과 의논하고 같이 답을 찾는 과정이 필요해서 프로젝트 만큼 팀원들과 대화가 필요했다. 이번 팀원분들은 개발 공부가 처음이 아닌 분들 이셨고, 그래서 그런지 이해를 빨리 빨리 하셨다. 나는 혼자 허둥지둥하면서 이해한 척도 해보고, 그러다 가끔 진짜 이해도 되고.. 이해가 안되면 더 찾아보고.. 무박이일로 프로젝트 할때는 몸이 힘들었지만 그래도 내가 뭔가 기여하고, 아는게 있어서 힘들지않았는데 이번 주엔 정신적으로 너무 힘들었다. 내가 아는게 이렇게 없을 줄이야..! 진짜 내가 이정도로 바보였나? 싶었다 ㅠ... 그래도 팀원분들 두분 다 잘하시는 분이라 배울것은 정말 많았다. 내가 많이 물어봤으면 좋았을텐데 나를 바보 똥멍청이로 볼까봐 더 물어보지 못했다. 국비때 질문 제일 많이 하시던분이 바로 취업하는 거 보고, 와 진짜 이해할때까지 질문해야 얻는게 많구나, 부끄러워도 질문 해야 느는구나를 느꼈는데..! 나는 아직 질문이 너무 어렵다 ㅠ.. 일단 내가 얼마만큼 모르는지도 모르겠고, 설명듣고 끝까지 못알아듣는 바보일까봐..ㅎ 내가 그런 바보라는 것을 인정하기가 너무 싫다..! ㅋㅋㅋㅋㅋㅋ 그래도 그 순간을 견디면 더 발전 할 수 있겠지!!

자바스크립트 언어 기초

완성도 ⭐️⭐️⭐️ 노션에 이론 정리나 과제 같은 것을 올렸어야 했는데, 아는 것은 올렸지만 모르는 것은 올리지 못해서 별점 세개 ㅠ
기여도 ⭐️ 내가 쓴건 많지만 그게 핵심은 아니었던 것 같아서 별 하나..!
팀 호흡 ⭐️⭐️⭐️ 팀원 중 한분이 일정이 있으셔서 일주일 중 반을 같이 못하셨다. 그래도 일정끝나고 돌아오셨을땐 잘 참여해주셨고, 팀원들 다 모르는 것을 같이 찾아보려는 노력을 해서 나름 괜찮았던 것 같다!
만족도 ⭐️⭐️ 이론이 너무 어려웠어서 이번 만족도는 별 두개..ㅠ 내가 이해 못하고 넘어간게 너무 많다...... 물론 100프로 이해할 수는 없겠지만.. 그래도 머리에는 남아있으면 좋겠는데.. 그냥 그런게 있다 정도..?ㅎ

참고한 웹사이트

profile
방금 태어난 개발자

0개의 댓글