var app = angular.module('myapp', []); // Object Constructor Catch app.controller('MyCtrl', function($scope) { $scope.o = new Object(); $scope.constructorIsObject = ($scope.o.constructor === Object); // true // Object 생성자는 인자를 받을 수 있다. 인자에 따라 다른 내장 생성자에 객체 생성을 위임한다. 기대한것과 다른 객체가 반환되는 셈. $scope.num = new Object(1); $scope.constructorIsNumber = ($scope.num.constructor === Number); // true $scope.fixedNum = $scope.num.toFixed(2); $scope.str = new Object("I am a String"); $scope.constructorIsString = ($scope.str.constructor === String); // true $scope.typeofSubstring = typeof $scope.str.substring; $scope.boolObj = new Object(true); $scope.constructorIsBoolean = ($scope.boolObj.constructor === Boolean); // true });
<div ng-controller='MyCtrl'> <h4>Object Constructor Catch</h4> <ul> <li>o.constructor is Object: {{constructorIsObject}}</li> <li>num.constructor is Number: {{constructorIsNumber}}, num={{num}}, fixedNum={{fixedNum}}</li> <li>str.constructor is String: {{constructorIsString}}, str={{str}}, {{typeofSubstring}}</li> <li>boolObj.constructor is Boolean: {{constructorIsBoolean}}</li> </ul> </div>