why don't javascript object property descriptors always default to false
http://stackoverflow.com/questions/27726816
by Garth Edwards
HTML
<script src="http://code.angularjs.org/1.3.5/angular.js"></script>
<div ng-app="myApp">
<div ng-controller="TestCtrl">
myObject1<br>
Created using Method #1 - <b>Dot Notation</b>: <br><br>
{{method1Data}}<br>
<br>
<br>
<br>
myObject2<br>
Created using Method #2 - <b>Bracket Notation</b>: <br><br>
{{method2Data}}<br>
<br>
<br>
<br>
myObject3<br>
Created using Method #3 - <b>defineProperty</b>: <br><br>
{{method3Data}}<br>
</div>
</div>
JavaScript
var myApp = angular.module('myApp', []);
myApp.controller('TestCtrl', function($scope) {
// method #1__________________________Dot Notation
var myObject1 = {};
myObject1.name = "ben";
var myObject1_ObjectProperties = Object.getOwnPropertyDescriptor(myObject1, "name");
$scope.method1Data = myObject1_ObjectProperties;
// method #2_____________________________Bracket Notation
var myObject2 = {};
myObject2["name"] = "ben";
var myObject2_ObjectProperties = Object.getOwnPropertyDescriptor(myObject2, "name");
$scope.method2Data = myObject2_ObjectProperties;
// method #3_____________________________defineProperty
var myObject3 = {};
Object.defineProperty(myObject3, 'name', { value: "ben" });
var myObject3_ObjectProperties = Object.getOwnPropertyDescriptor(myObject3, "name");
$scope.method3Data = myObject3_ObjectProperties;
});