본문 바로가기

전체 글67

[프론트엔드 기술면접] 배열, 객체를 const로 선언했는데 요소나 속성을 추가할 수 있는 이유 🪐 배열, 객체를 const로 선언했는데 요소나 속성을 추가할 수 있는 이유에 대해서 설명해주세요. Const 변수에 할당된 값은 바뀌지 않지만, 배열/객체가 변수에 할당될 때에는 배열/객체의 요소(값) 자체가 아니라 주소(이 값은 불변, 상수)가 할당되기 때문입니다. const는 변하지 않는 상수를 선언하는 키워드이며, 이 상수의 값은 재할당할 수 없으며 다시 선언할 수도 없습니다. 그러나 배열, 객체는 참조자료형이며, 참조 값은 변수에 주소를 할당합니다. 숫자, 문자열 등의 원시 자료형은 stack 영역에 값 자체가 저장되지만 배열, 객체, 함수 등의 참조자료형은 heap 영역에 값이 저장되고, stack에는 heap에 저장된 데이터의 주소만 저장됩니다. 따라서 실제 배열 요소들은 push나 pop으.. 2023. 7. 27.
[프론트엔드 기술면접] require와 import차이점 ⛄ require와 import차이점을 설명해주세요. 각각 어떤 상황에서 쓸 수 있나요? require와 import는 javascript에서 모듈(외부 파일이나 라이브러리)를 불러올 때 사용됩니다. 이 둘은 사용방법과 작동방식에서 차이가 있습니다. require은 Node.js에서 사용되며, CommonJS 모듈 시스템을 따르고 import는 ES6에서 새롭게 도입된 키워드입니다. 또한 require은 모듈을 가져오려면 파일 경로를 지정해야 하며 필요한 모듈을 동기적으로 가져올 수 있습니다. 반면에 improt는 정적으로 모듈을 가져오기때문에 파일 경로가 아닌 모듈 이름을 사용하여 모듈을 가져옵니다. import는 비동기적으로 모듈을 가져오며 export 키워드를 사용하여 모듈에서 함수, 객체 또는 변.. 2023. 7. 26.
[프론트엔드 기술면접] 브라우저 저장소 차이점(local storage, sessin storage, cookie) ✅ 브라우저 저장소에 대해서 차이점을 설명해주세요(local storage, sessin storage, cookie) 쿠키는 만료기간이 있는 키-값 저장소로, 클라이언트에 저장됩니다. 서버에 요청을 보낼 때마다 자동으로 전송되는 특징을 가지고 있습니다. 로컬스토리지와 세션스토리지는 사용자 정보를 키-값 형태로 클라이언트 브라우저에 저장됩니다. 로컬스토리지는 브라우저를 종료해도 유지되어 유저가 삭제하지 않는 이상 영구적으로 데이터를 보관할 수 있고, 세션스토리지는 브라우저 종료시 데이터가 사라진다는 특성을 가지고 있습니다. 쿠키(Cookie): 일시적으로 필요한 가벼운 데이터 저장이 필요할 때 장점: 클라이언트에 저장되기 때문에 서버 요청마다 자동으로 전송되어 사용자 식별이 용이합니다. 브라우저에 의해 .. 2023. 7. 25.
[프론트엔드 기술면접] this 가 동작하는 원리와 용법 🚩 this 가 동작하는 원리와 용법을 아는대로 설명해주세요. 평소 코드 중에서는 어떤 부분에서 가장 큰 차이가 생기나요? this는 함수를 호출할때 생성되는 실행 컨텍스트 객체입니다. 현재 실행 중인 함수 내에서 this 키워드가 사용된 위치에 따라 참조하는 객체가 동적으로 결정됩니다. 즉, 함수가 호출될때 결정되기 때문에, 함수를 호출하는 방법에 따라 this가 참조하는 객체가 달라지게 됩니다. 함수가 객체의 메서드로 호출될 때, this는 해당 객체를 참조합니다. 함수가 일반적인 함수로 호출될 때, this는 전역 객체(window 또는 global)를 참조합니다. 함수가 생성자로 호출될 때, this는 새로 생성된 객체를 참조합니다. call(), apply(), bind() 메서드를 사용하여 명.. 2023. 7. 25.