몰라. 그렇다네. 나도 우연히 알게 됨.
내가 이전에 알고 있던 건, javascript 에서 문자열 처리시 홑따옴표( single quotation ' ) 와 겹따옴표 ( double quotation " ) 를 둘 다 문자열 처리에 사용할 수 있다는 거였다. = 차이 없다.
그런데 , stackoverflow 에서 누가 답글 올려놓은 거 보니, 자기가 플젝 할 때 ajax 로 post 값 넘길 때, method='POST' 썼다가 주옥된 적 있다네. method="POST" 로 홑따옴표를 겹따옴표로 고쳐 쓰니 된다고. 그래서 jquery 로 ajax 쓰려면 꼭 method="POST" 쓰라는 것. method='POST' 말고.
https://stackoverflow.com/questions/21044798/how-to-use-formdata-for-ajax-file-upload
아니, javascript 에서 홑따옴표랑 겹따옴표를 차별한다고? 구별은 하지만, 기능이 다를 리가 없는데? 라고 생각해서,
구글에 single quote vs double quote 로 뒤져봤다. 역시나 특별한 이야기가 없다.
그러다 얻어 걸린 글이 역시나 stackaoverflow 인데...
https://stackoverflow.com/questions/242813/when-to-use-double-or-single-quotes-in-javascript
요약하면, Json 표준에는 겹따옴표가 표준이고 홑따옴표가 비표준이라는 것. 물론 홑따옴표를 처리해 주지 않는 json 라이브러리는 없을 거라는 답글도 있다.
하지만 어쨌던 jquery ajax 에서 이런 일이 있었다고 하니까, 일단은, 엔간하면 json 으로 통신할때는 겹따옴표 쓰는 걸로.
이건 뱀발인데, php 와 perl 에서는 홑따옴표와 겹따옴표의 역할이 다르다. 워낙 기본이라 알고 있는 사람이 많을거 같긴 한데, 두 언어에서 겹따옴표는 문자열 안에 변수를 사용할 수 있고, 따옴표 안에 변수를 써 넣으면 parser 가 변수 값으로 바꿔서 출력하고, 홑따옴표는 변수값 변경 없이 무조건 문자열로 처리한다...
뭐, 기본 내용이니 예제는 안 써도 되겠지.
끝.
'프로그램 > Html_JavaScript' 카테고리의 다른 글
Javascript 에도 명시적 변수 선언 있다. let, const (0) | 2018.09.18 |
---|---|
encodeURI() 와 encodeURIComponent() 의 차이점. (0) | 2018.02.11 |
웹 프론트앤드 개발을 새로 시작할 때 참고. (0) | 2016.11.11 |
javascript 의 key event 처리방법은, IE 와 Chrome / Firefox 가 다르다. (0) | 2015.07.31 |
javascript 에서 코드로 이벤트 발생시키는 법. (0) | 2013.11.09 |