javascript 사용중 위와 같은 메시지를 보게 된다면 그것은 조건식이 들어가야 할 자리에 대입식을 사용했다는 이야기이다.
예를 들어 아래와 같은 코드가 있다고 해 보자.
while(match = regex.exec(a.search)) {
if(param != match[1]) {
str.push(match[1] + (match[2] ? '=' + match[2] : ''));
}
}
이 코드는 정규식의 매치되는 부분을 찾아 반복실행하게 하는 코드이다. 하지만 `while` 구문이나 `if` 구문의 경우 `a = something` 이라는 코드를 사용하면 안된다고 하는 이야기 이다. 하지만 이와 같은 코드는 예전부터 많이 사용되어 오는 코드 이기 때문에 많이 발견할 수 있는 코드이다.
이것을 고쳐서 사용하고 오류 코드가 발생하지 않도록 하려면 아래와 같이 고쳐서 사용할 수 있다.
while((match = regex.exec(a.search))) {
if(param != match[1]) {
str.push(match[1] + (match[2] ? '=' + match[2] : ''));
}
}
괄호를 추가해 결과만 받도록 하는 방법으로 간단히 해결 가능하다.
'개발자의 정보 > JS & framework' 카테고리의 다른 글
대규모 Vue.js 3 애플리케이션 구축을 위한 6가지 팁 (0) | 2021.07.30 |
---|---|
html-midi-player (0) | 2021.07.25 |
axios.js 배열 파라미터 전송시 [] 빼고 보내기 (1) | 2020.09.23 |
Javascript 에서 Object를 해시맵처럼 사용하지 마세요 (5) | 2020.04.25 |
에러 해결법: directories in the root is deprecated, please specify in the build (0) | 2020.04.14 |
vue-moment 적용 및 사용 방법 (0) | 2020.02.16 |
Path mapping (routing) - Vue Router (0) | 2020.02.01 |
Spring-boot maven with @vue/cli 으로 웹 서비스 만들기 (4) | 2020.02.01 |
댓글