팀프로젝트 마무리로 정신없이 1월을 보냈던 것 같은데, 벌써 과정이 끝난지 한달차에 가까워지고 있었다. 

몰입했던 멋사 과정도 마치고 잠깐의 휴식시간을 가졌으니 다시 공부를 시작할 때가 됐다고 생각했다.

그렇게 "할수있다! 자바스크립트" 스터디를 다시 시작하기로 했다.

 


 

책 한권을 빠른 시간 안에 습득하기로 했던 처음 목표와는 다르게 지금은 시간이 걸려도 개념을 놓치지 말고 가자는 쪽으로 의견이 모아졌다. 그래서 앞으로는 딥다이브 책의 한 부분을 골라 같이 보고, 공부해오기로 결정했다. 더불어 단순하게 발표하고 듣는 방식보다는 실질적으로 도움을 줄 수 있는 방향으로 스터디를 진행했으면 좋겠다는 의견이 있었다. 그래서 프론트엔드 기술면접 핸드북 에 나와있는 내용을 채워나가면서 공부하게끔 정했다.

 

이번주는 변수와 데이터 타입과 관련된 질문과 답변을 정리해보았다.

 

변수 🔥

  • 변수란 무엇인가?
    • 하나의 값을 저장하기 위한 메모리 공간이며 이를 식별하기 위해 이름을 붙인 것
  • 식별자란 무엇인가요? 🔥
    • 변수의 이름, 값을 구별할 수 있도록 하는 고유한 이름
  • 변수를 선언한다는 것은 어떤 것을 의미하나요?
    • 메모리 공간을 확보하고, 변수명과 확보된 공간의 주소를 연결하여 값을 저장할 수 있게 하는 것
  • var 키워드는 뭔가요?
    • 선언과 초기화 단계가 동시에 진행되는 변수 선언 명령어
  • 호이스팅이 뭔가요? 🔥🔥
    • 선언문 등이 하위에 위치해있더라도 상위로 끌어올려진 것처럼 동작하는 JS고유의 특징
  • var 키워드의 문제점은 무엇이 있나요? 🔥
    • 함수레벨 스코프를 지원하여 의도치 않은 전역변수 선언으로 인한 문제
  • let 키워드는 var 키워드와 어떤 점이 다른가요? 🔥🔥
    • 선언단계와 초기화 단계가 분리되어서 진행
  • TDZ 🔥🔥
    • Temporal Dead Zoned의 약어, 스코프의 시작 지점부터 초기화 시작 지점까지의 구간
  • const 키워드는 어떤 특징이 있나요? 🔥
    • 재할당과 재선언이 불가능
  • 식별자 네이밍 규칙은 어떤 것들이 있나요?
    1. 특수문자를 제외한 문자, 숫자, 언더바, 달러기호를 포함할 수 있다.
    2. 숫자로 시작할 수 없다.  
    3. 예약어를 식별자로 사용할 수 없다.
  • 네이밍 컨벤션은 어떤 것들이 있나요?
    • 카멜케이스(firstName), 스네이크케이스(first_name), 파스칼케이스(FirstName), 헝가리안케이스(strFirstName)
  • 리터럴이 뭔가요?
    • 사람이 이해할 수 있는 문자나 기호를 사용해 값을 생성하는 표기법

 

데이터 타입 🔥

  • 데이터 타입의 종류는 어떤 것들이 있나요? 🔥
    • 원시 타입(숫자, 문자열, 불리언, undefined, null, 심벌), 객체 타입(객체, 함수, 배열)
  • 심벌 타입은 뭐죠?
    • 변경 불가한 원시 타입의 값, 중복되지 않는 유일무이한 값이라 객체의 유일한 프로퍼티 키를 만들기 위해 사용
  • 데이터 타입은 왜 필요할까요? 🔥
    • 값의 생성 목적, 용도가 타입에 따라 다름
    • 이에 맞게 메모리 공간의 확보나 해석하는 방법 등이 달라지기 때문에 효율적인 사용을 위해 필요
  • 정적 타이핑이 뭔가요?
    • 변수를 선언할 때 할당 가능한 데이터 타입을 사전에 선언하는 방법, 명시적 타입선언
  • 동적 타이핑이 뭔가요?
    • 변수는 선언이 아닌 할당에 의해 타입이 결정되며, 재할당에 의해 언제든 타입이 변화할 수 있다는 특징

 

+ Recent posts