php 배열 구문을 자바스크립트용으로

php 배열 구문을 자바스크립트용으로

QA

php 배열 구문을 자바스크립트용으로

답변 1

본문


$notification = array('title' =>$title , 'body' => $body);
$arrayToSend = array('to' => "$app_token", 'notification' => $notification,'priority'=>'high');

 

이런 구문이 있는데요 이걸 자바스크립트 구문으로 바꾸면 어떻게 바꿔야 하나요?

이 질문에 댓글 쓰기 :

답변 1

 자바스크립트에서 연관배열은 중괄호를 씁니다.

 

<script>
notification = {};
notification['title'] = "my_title";
notification['body'] = "my_body";
</script>

 

또는

 

<script>
notification = { title : "my title" , body : "my_body" };
</script>

 

----------

 

php 상위버전에서도 그렇지만 자바스크립트에서도 배열선언은 [] 로 줄일 수 있습니다.

즉 aaa = new Array(); 와 aaa = []; 는 같습니다.

 

그와 같이

notification = {}; 는 notification = new Object(); 라고 보면 될 거에요.

 

그러니까 말인즉슨 연관배열 이지민 실제로는 하나의 객체 내지는 하나의 클래스라고 봐야겠지요.

다시 말하면 notification.title 로 부르나 notification['title'] 로 부르나 똑같다는 말입니다.

그건 아니구요.
로직의 순서상 php 변수는 자바스크립트 데이터값을 "절대로" 온전하게 받을 수 없습니다.
받으려면 아작스를 걸쳐야 하구요.

php 에서 연관배열을 저렇개 표시한다면 자바스크립트에서 연관배열은 답변글처럼 사용한다는 의미입니다.

자바스크립트 변수는 php 값을 받을 수는 있지만 그 반대는 불가능합니다.

왜냐하면 그건 내가 아버지보다 먼저 태어나야 하기 때문이죠.
즉 아버지는 과거, 나는 현재라서 시제를 바꿀 수는 없는 거구요.
아작스로는 그게 가능한 것이 나랑 아버지 모두를 실시간 즉 현재진행형의 시제로 만들어 버리기 때문에 가능한 거에요.

예를 들어 my = 100 이라는 자바스크립트가 있다면 어거지로 아래처럼은 받을 수 있습니다.

<script>
my = 100;
</script>
<?php
$my = "<script>document.write(my)</script>";
$echo $my;
?>

근데 이건 100이라는 숫자형 데이터를 받는 게 아니라
"<script>document.write(my)</script>"; 이라는 일종의 html형 데이터를 받는 것이라
보여지는 건 100으로 같지만 두 대상은 다른 대상입니다.

다시 말하면 내가 받고 싶은 데이터는 "서울" 인데
넘어오는 데이터는 "대한민국의 수도" 라는 것이죠.
즉 결과값은 같을 지 모르지만 엄연히 다른 데이터입니다.

냑 질문게시판에 늘 올라오는 질문이기도 하죠.
php 에서 = 즉 등호표시로 자바스크립트를 표현할 수 있을까요?
대답은 늘 한결같습니다. "아작스가 아니면 용 빼는 수가 없습니다." 입니다.

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 947
© SIRSOFT
현재 페이지 제일 처음으로