스크립트 function 질문입니다.

스크립트 function 질문입니다.

QA

스크립트 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

 

https://appletree.or.kr/blog/web-development/javascript/javascript-function%EC%9D%98-default-parameters-%EC%84%A4%EC%A0%95-%EB%B2%95/

변수명을 혼용하시는거 같아보입니다.

 

IE , 크롬에서 보신다고 하는것으로 보아

 

JavaScript를 말씀하시는거죠?

 

물론 $변수를 사용할수있습니다만

 

 

PHP의 $와 다릅니다.

 

그리고,

 

function Test($aaa, $bb = null ) {

 

}

 

와 같이 사용할경우는 없습니다.

 

JavaScript에서 값이 없는것은 null이 아닌

undefined 입니다.

따라서 굳이 null로 넣지 안않아도 그 자체가 undefined 가 되서

 

null로 체크됩니다.

 

이런 이유와 마찬가지로 IE에서는 넣을수 없는값으로 인식되는것으로 보여집니다.

 

크롬/파이어폭스에서는 

 

http://beomy.tistory.com/17

 

아래의 내용에따라

 

null을 인자로 전달할경우 null 자체가 의미하는 null로 인식해서 처리합니다.

 

 

은 

 

값을 1개만 전달하기도 2개를 전달하기도 하는경우에는

 

function Test($aaa, $bb ) {

 

}

 

으로 처리하시면 정상적으로 처리되실겁니다.

 

 

답변을 작성하시기 전에 로그인 해주세요.
전체 119
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT