Javascript Uncaught SyntaxError missing ) after argument list

원인

Uncaught SyntaxError missing ) after argument list

Single Quotes(') 또는 Double Quotes(") 를 를 자바스크립는 구분자를 사용하기 때문에
argument 넘겨주다가 argument 안에 구분자로 사용하는 ' 또는 " 가 들어있어서 발생

해결방법

백슬래쉬 \ 를 앞에 붙여주세요
구분자로 ' 를 사용하면 \' 이렇게
구분자로 " 를 사용하면 \" 이렇게

1
2
let singleQuotes = 'my string with "double quotes" and \'single quotes\'';
let doubleQuotes = "my string with 'single quotes' and \"double quotes\"";

그래도 안되면
encoding 하세요

URI encoding 을 활용하던지 뭔가 다른 것으로 바꾸고
활용할 때 decoding 하는 방법도 사용 가능합니다

사용한 사례

Hexo 로 블로그를 만들어서 사용하는 와중에
Hexo 의 Tagplugin 을 사용하게 되면 Tag 마다 규정되어 있는 규칙이 있고
내부에서 특수문자를 Replace 해버리는 경우도 많음

버튼 Tag 에 자바스크립트 구분을 효출하는 onClick 이벤트를 넣으려는데
함수를 뜯어보니 , 로 규칙을 정해놔서
규칙을 피하려고 \ 와 encoding 을 활용함

javascript 함수에서는 decoding 해서 결국 적용해서 사용하고는 있습니다.