[JavaScript] 문자열 메서드 startsWith

wldud·2024년 9월 20일

강의를 따라서 게시판을 구현하는데 경로에 따라 헤더의 버튼을 다르게 설정해주었다. 근데 pathname === MAIN_PATH()인 경우와 pathname.startsWith(MAIN_PATH())의 경우가 다르게 나와서 찾아봤다.

pathname === MAIN_PATH()

이 경우 pathnameMAIN_PATH()와 정확히 일치한 경우에만 true를 반환해준다.
MAIN_PATH()"/"인 경우 pathname이 정확히 "/"일때만 true가 된다.
만약 pathname/board처럼 하위경로를 포함하면 false를 반환한다.

pathname.startsWith(MAIN_PATH())

이 조건은 pathnameMAIN_PATH()로 시작하는 모든 경우에 true를 반환한다.
MAIN_PATH()"/"인 경우 pathname"/main", "/main/board"이 경우도 true를 반환한다.

그래서 pathname.startsWith(MAIN_PATH())를 사용하였을 때 다른 경로에서도 원하지 않는 버튼이 보였던 것이다..!정확하게 하는 경로에서는 pathname === MAIN_PATH()이 방식을 사용해야겠다.

0개의 댓글