본문 바로가기

전체 글79

호이스팅(Hoisting)과 TDZ(Temporal Dead Zone) 자바스크립트는 변수 선언 방식에 따라 코드 실행 순서와 결과가 달라질 수 있다. 특히 호이스팅(Hoisting)과 TDZ(Temporal Dead Zone)개념을 정확히 이해하는 것은 중요하다. 호이스팅(Hoisting)이란?호이스팅은 자바스크립트의 독특한 동작 방식으로, 변수 선언이나 함수 선언이 해당 범위의 최상단으로 끌어올려지는 현상을 말한다. 즉, 변수가 코드에서 선언되기 전에 사용할 수 있는 것처럼 보이는 이유가 호이스팅 때문이다. 호이스팅은 변수 선언과 함수 선언 모두에 적용되지만, 그 방식은 다르다. console.log(x); // undefinedvar x = 5; 위 코드는 다음과 같이 해석된다:var x; // 선언이 최상단으로 끌어올려짐console.log(x); // undefin.. 2024. 10. 14.
카카오 모빌리티 코딩테스트 후기 카카오모빌리티 신입 공채에 이력서를 넣었는데, 서류 합격 통지를 받았다. 코딩 테스트를 보게 된 것이다. 솔직히 떨어질 줄 알았는데 붙어서 놀랐다. (서류는 넣으면 다 합격시키는 느낌.) 코딩 테스트는 자신 없지만, 일단 도전해보기로 했다. 테스트는 Codility 사이트에서 140분 동안 3문제를 풀었다. 첫 번째 문제는 쉬웠고, 세 번째 문제도 풀 만했다. 둘 다 평범한 백준 문제 같았다. 그런데 두 번째 문제는 리액트를 써서 특정 컴포넌트를 만드는 문제였다. (문제 유출을 하면 안되서 자세한 내용은 말할 수 없다.) 캠은 켜지 않아 편했지만, 외부 IDE 사용이 불가능하고, 복사/붙여넣기도 금지였다. 문제를 하나 풀고 제출해야 하는데, 나는 세 문제 다 풀고 제출해야 하는 줄 알았다. 그러다 언어 .. 2024. 10. 8.
노마드 코더 REACT NATIVE 강의 코드챌린지 https://nomadcoders.co/react-native-for-beginners  왕초보를 위한 React Native 101 – 노마드 코더 Nomad CodersReact Native로 2개의 앱 만들기nomadcoders.co 이번 글은 강의 마지막에서 나왔던 코드 챌린지를 해결한 과정을 다룬다. 스스로 구현해야 했던 세 가지 기능:1. 앱 재실행 시 마지막 상태의 Work 또는 Travel 기억하기2. Todo에 완료 기능 추가하기3.Todo에 수정 기능 추가하기현재 카테고리(Work / Travel) 저장 앱을 켤 때 마지막으로 선택했던 카테고리를 기억하고 다시 불러오는 기능. 이걸 구현하려면 카테고리 상태를 AsyncStorage에 저장해야 하는데, 비동기 처리이기 때문에 useEff.. 2024. 10. 5.
노마드 코더 REACT NATIVE 강의 정리 3 https://nomadcoders.co/react-native-for-beginners  왕초보를 위한 React Native 101 – 노마드 코더 Nomad CodersReact Native로 2개의 앱 만들기nomadcoders.co 노마드 코더 React Native강의를 보고 요약 정리하는 글 Touchables TouchableOpacity: 버튼 클릭 시 투명도 변화TouchableHighlight: 배경 색상 변경 가능TouchableWithoutFeedback: UI 변화 없음, 클릭 이벤트만 수신Pressable: 신규 컴포넌트로 더 많은 설정 가능 spread연산자를 통해서 선택했을때 글자색 css 변경 Work .. 2024. 10. 3.