팀프로젝트 마무리로 정신없이 1월을 보냈던 것 같은데, 벌써 과정이 끝난지 한달차에 가까워지고 있었다.
몰입했던 멋사 과정도 마치고 잠깐의 휴식시간을 가졌으니 다시 공부를 시작할 때가 됐다고 생각했다.
그렇게 "할수있다! 자바스크립트" 스터디를 다시 시작하기로 했다.
책 한권을 빠른 시간 안에 습득하기로 했던 처음 목표와는 다르게 지금은 시간이 걸려도 개념을 놓치지 말고 가자는 쪽으로 의견이 모아졌다. 그래서 앞으로는 딥다이브 책의 한 부분을 골라 같이 보고, 공부해오기로 결정했다. 더불어 단순하게 발표하고 듣는 방식보다는 실질적으로 도움을 줄 수 있는 방향으로 스터디를 진행했으면 좋겠다는 의견이 있었다. 그래서 프론트엔드 기술면접 핸드북 에 나와있는 내용을 채워나가면서 공부하게끔 정했다.
이번주는 변수와 데이터 타입과 관련된 질문과 답변을 정리해보았다.
변수 🔥
- 변수란 무엇인가?
- 하나의 값을 저장하기 위한 메모리 공간이며 이를 식별하기 위해 이름을 붙인 것
- 식별자란 무엇인가요? 🔥
- 변수의 이름, 값을 구별할 수 있도록 하는 고유한 이름
- 변수를 선언한다는 것은 어떤 것을 의미하나요?
- 메모리 공간을 확보하고, 변수명과 확보된 공간의 주소를 연결하여 값을 저장할 수 있게 하는 것
- var 키워드는 뭔가요?
- 선언과 초기화 단계가 동시에 진행되는 변수 선언 명령어
- 호이스팅이 뭔가요? 🔥🔥
- 선언문 등이 하위에 위치해있더라도 상위로 끌어올려진 것처럼 동작하는 JS고유의 특징
- var 키워드의 문제점은 무엇이 있나요? 🔥
- 함수레벨 스코프를 지원하여 의도치 않은 전역변수 선언으로 인한 문제
- let 키워드는 var 키워드와 어떤 점이 다른가요? 🔥🔥
- 선언단계와 초기화 단계가 분리되어서 진행
- TDZ 🔥🔥
- Temporal Dead Zoned의 약어, 스코프의 시작 지점부터 초기화 시작 지점까지의 구간
- const 키워드는 어떤 특징이 있나요? 🔥
- 재할당과 재선언이 불가능
- 식별자 네이밍 규칙은 어떤 것들이 있나요?
- 특수문자를 제외한 문자, 숫자, 언더바, 달러기호를 포함할 수 있다.
- 숫자로 시작할 수 없다.
- 예약어를 식별자로 사용할 수 없다.
- 네이밍 컨벤션은 어떤 것들이 있나요?
- 카멜케이스(firstName), 스네이크케이스(first_name), 파스칼케이스(FirstName), 헝가리안케이스(strFirstName)
- 리터럴이 뭔가요?
- 사람이 이해할 수 있는 문자나 기호를 사용해 값을 생성하는 표기법
데이터 타입 🔥
- 데이터 타입의 종류는 어떤 것들이 있나요? 🔥
- 원시 타입(숫자, 문자열, 불리언, undefined, null, 심벌), 객체 타입(객체, 함수, 배열)
- 심벌 타입은 뭐죠?
- 변경 불가한 원시 타입의 값, 중복되지 않는 유일무이한 값이라 객체의 유일한 프로퍼티 키를 만들기 위해 사용
- 데이터 타입은 왜 필요할까요? 🔥
- 값의 생성 목적, 용도가 타입에 따라 다름
- 이에 맞게 메모리 공간의 확보나 해석하는 방법 등이 달라지기 때문에 효율적인 사용을 위해 필요
- 정적 타이핑이 뭔가요?
- 변수를 선언할 때 할당 가능한 데이터 타입을 사전에 선언하는 방법, 명시적 타입선언
- 동적 타이핑이 뭔가요?
- 변수는 선언이 아닌 할당에 의해 타입이 결정되며, 재할당에 의해 언제든 타입이 변화할 수 있다는 특징
'FE' 카테고리의 다른 글
[JS스터디] 27장 배열 (0) | 2022.03.12 |
---|---|
[JS 스터디] 9장 타입 변환과 단축 평가, 10장 객체 리터럴 (0) | 2022.03.05 |
[HTML] Ejey Publishing Study1일차 리뷰 (0) | 2022.01.08 |
[HTML] Ejey Publishing Study 0일차 리뷰 (0) | 2022.01.08 |
[CSS] flex (2) | 2021.11.09 |