이틀에 걸친 1차 테스트가 끝났다. 첫날은 리액트를 기반으로 한 시험이었고, 마지막 날은 코딩테스트 + Dom과 관련된 내용으로 시험을 보았다.
리액트 시험은 무난했다. react-router를 사용할 수 있고, 컴포넌트 간의 상태를 전달할 수만 있다면 어렵지 않게 구현할 수 있는 문제였다.
react로 구현된 코드 중에는 하위 컴포넌트 태그를 a태그로 묶어준 코드가 있었는데,
처음 해당 코드를 보고 div등과 같은 태그가 아닌 왜 a태그를 썼을까라는 의문이 있었다. a 태그의 기본 링크 기능을 제거하는 방법을 찾는 도중, 이벤트 핸들러인 onClick 이벤트 등을 지정해서 클릭을 인지할 수 있기 위해 a 태그를 쓰는 경우가 많다는 것을 알게 되었다.
즉, a 태그의 링크기능은 없애면서 a 태그만의 디자인성은 살리기 위함인 것이다.
참고로 링크 기능을 없애는 방법은 다음과 같다.
<a href = "javascript:void(0)">기능무효</a>
여기서 void 연산자가 undefined 값 돌려줌
a태그가 작동하지 않는 원리
void( ) 에서 ( ) 안의 값이 숫자나 영문자 등등 사용해도 문제 없지만 일반적으로 0으로 사용
<a href = "#">기능무효</a>
< a href ="#"> 태그는 기본적으로 div id 로 이동할때 사용됨
<a href ="#seoul">서울</a>
<a href ="#busan">부산</a>
<div id="seoul">서울은 ....</div>
<div id="busan">부산은 ....</div>
코딩테스트와 dom 문제 또한 지금까지 배웠던 배열, 객체 메소드를 적절히 조합하면 간단히 풀 수 있는 문제로 구성되어 있었다.
조금 아쉬웠던 점은 시험이 끝나고 문제에 접근할 수 없어, 스터디에서 코드 리뷰를 하지 못했다는 점이다. 시험이 종료되고 스터디원들과 코드를 리뷰해 보고 싶었는데... 갑자기 시험문제가 사라져 당황했다.
대체적으로 시험은 무난했다.
다음 코스로 넘어가게 되면 본격적으로 react를 배우고 자료구조, nodejs 등 익숙하지 않은 개념을 접하게 된다.
처음에는 낯설더라도 반복적으로 노출이 되면 익숙해지기 때문에, 익숙해질 때까지 연습하려고 한다.