-1
내가 브라우저에서이를 열면 : 나는 코멘트에 작성한 것을JSON.stringify가 출력 JSON 객체에 배열을 포함하지 않는 이유는 무엇입니까?
는 것이다<!DOCTYPE html>
<html>
<head>
<title>Testing stringify</title>
</head>
<body>
<script>
var obj = {};
var arr = [];
arr.push(1,2);
alert(arr); // 1,2
Object.defineProperty(obj, "name", {
value:arr
});
alert(obj.name); // 1,2
alert(JSON.stringify(obj)); // {}
</script>
</body>
</html>
출력. arr
이 출력 JSON 문자열에 포함되지 않은 이유를 모르겠습니다. 설명자 객체의 다른 속성을 defineProperty()
에 정의해야합니까? 내가 도대체 뭘 잘못하고있는 겁니까?
감사합니다. 왜 속성을 열거 할 필요가 있습니까? – Sahand
@Sandi : 기본적으로 'stringify' 메서드는 속성을 찾아서 JSON 결과에 추가해야하기 때문에 속성을 열거해야하기 때문입니다. 나는 그들이 속성을 쉽게 제외 할 수 있도록하기 위해이 디자인 결정을 내렸음에 틀림 없다고 상상한다. –