스크립트 function 질문입니다.
본문
function Test ($aaa, $bbb = null) {
~~~
}
여기서 인자값 $bbb = null
이렇게 하면 에러인가요?
이렇게하니깐 크롬에서는 되는데 익스에서는 에러라고 뜨네요..
PHP에서는 이거 맞는거잖아요..
!-->답변 2
php 문법과 javascript 문법이 비슷한 부분이 있기는 하지만,
전부 같지는 않습니다.
php 에서는 파라미터의 기본값을 줄 수 있는 방법이 본문의 코드와 같이 가능하지만,
javascript 에서는 지원하지 않습니다. (ES6 default function params 지원 웹브라우저에서는 가능하다고 합니다.)
javascript 에서 php 함수와 유사한 방식의 기본값을 주는
방법과 관련된 참고글입니다. http://blog.freezner.com/archives/818
변수명을 혼용하시는거 같아보입니다.
IE , 크롬에서 보신다고 하는것으로 보아
JavaScript를 말씀하시는거죠?
물론 $변수를 사용할수있습니다만
PHP의 $와 다릅니다.
그리고,
function Test($aaa, $bb = null ) {
}
와 같이 사용할경우는 없습니다.
JavaScript에서 값이 없는것은 null이 아닌
undefined 입니다.
따라서 굳이 null로 넣지 안않아도 그 자체가 undefined 가 되서
null로 체크됩니다.
이런 이유와 마찬가지로 IE에서는 넣을수 없는값으로 인식되는것으로 보여집니다.
크롬/파이어폭스에서는
아래의 내용에따라
null을 인자로 전달할경우 null 자체가 의미하는 null로 인식해서 처리합니다.
은
값을 1개만 전달하기도 2개를 전달하기도 하는경우에는
function Test($aaa, $bb ) {
}
으로 처리하시면 정상적으로 처리되실겁니다.