angular.module()などはAngularで実装する際、必ずと言っていいほど使用すると思いますが、そのほかのAngularのAPIで便利だなと思った関数あったので、書いてみました。
angular.copy
オブジェクトまたは配列をディープコピーします。 AngularJsでは同じ変数を参照してしまうと、双方向データバインディングの影響で、意図していない場所の値が変更されてしまう可能性があるので、その際によく使いました。
$scope.user = 'user1'; var user1.name = angular.copy($scope.user);
angular.forEach
いわゆるforEachしてくれます。obj内の各項目に対し、それぞれiterator関数を実行してくれる。iteratorの関数は、iterator(value, key)として実行され、valueにはオブジェクトのプロパティの値または配列の要素が入り、 keyにはオブジェクトのプロパティのキーまたは配列のインデックス番号が入ります。
var lists={ item1:'name1', item2:'name2', item3:'name3' }; angular.forEach(lists, function(val, key) { // ~~ });
angular.merge
任意の複数オブジェクトを一つのオブジェクトにマージしてくれます。 配列でも使用できるようです。
var obj1={ item1:'name1', item2:'name2' }; var obj2={ item3:'name3', item4:'name4' }; var mergeObj = angular.merge(obj1, obj2);
angular.isDefinedなどis〜
対象が定義されているか否かを調べてくれます。定義されていればtrueが返ります。他にもisDateとかisArrayとかあり、条件分岐で複雑な処理を書かなくて良いので便利です。
var val = 'key'; angular.isDefined(val); // true
他にも便利なAPIが多数用意されているようなので、underscore.jsなど使用する前に一度目的のapiがないかどうか調べてみても良いかもですね。