320x100

#JSON의 형태와 HTML,XML (매우 중요)

자바 스크립트의 작성형태는 HTML ,XML ,JSON ,CSV 가 있다.
HTML과 XML은 마크업(Markup)언어로서 태그 등을 이용하여 문서나 데이터의 구조를 기록하는 
언어의 종류이며 HTML XML의 차이점은 태그의 정의유무이다
(HTML은 태그가 정해져있고, XML은 태그가 정해지지 않았음)

JSON(JavaScript Object Notation) 자바스크립트 객체문법은 XML에서 발전된 형태로 속도가 향상되었다. 
JSON은 변수명 { 속성 : 값 } 으로 이루어진 꾸러미형식의 형태이며, JSON로도 다 쓸수 없는 양의 데이터
일시,  CSV가 감당할 수 있다.(용량대비 파일용량이 큼)
밑과 같은 JSON배열의 변수가 두 개가 있는데, 실제로 보여지고 싶은 값은
grade1이 아니라 신입으로 찍히고 싶다.
그러면 어떻게 접근해야 출력시 이름과 직급이 한글로 나올까?
        var Company=[
            {"name":"김사원","position":"grade1"},
            {"name":"이사장","position":"grade2"},
            {"name":"유전무","position":"grade3"},
            {"name":"양상무","position":"grade4"}
        ]
        
       var v_pos = {
            "grade1":"신입",
            "grade2":"사장",
            "grade3":"전무",
            "grade4":"상무"
        }

 

 

JSON은 배열이기에 배열속에 배열을 넣야한다.

해답은 밑과 같이 v_pos안에 넣고 company안의 position값을 찾아서 돌려주면된다.

 

See the Pen Untitled by hambugman (@hambugman) on CodePen.

 

 

 


 

#복사와 참조 (매우 중요)

 

복사와 참조는 데이터타입에 따라서 바뀌게된다.

복사는 원시타입(문자열,숫자,boolean)등에서 들어가고 
참조는 객체타입(메서드와 배열같은 object타입) 등에 들어간다.

복사와 참조는 값이 출력되는 부분에 차이가 크다.


◆ 1번문제에선 숫자형 원시타입으로 복사인데
a변수와 b변수가 각자의 메모리영역에 머물러 있기때문에
b의 값이 바뀌어도 a변수에는 변화가 없다.

반대로 2번의 문제에선 odj1은 json형태의 object이고
이는 참조가 된다. 참조가 되면 
odj1과 odj2가 둘 다 같은 값을 바라보기때문에
odj2가 +1 증가하면 odj1의 값도 같이 변하게된다.

 

See the Pen Untitled by hambugman (@hambugman) on CodePen.

 

 

반응형
  • 네이버 블로그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기