AngularJS
Fonctions d'assistance intégrées
Recherche…
angular.equals
La fonction angular.equals
compare et détermine si 2 objets ou valeurs sont égaux, angular.equals
effectue une comparaison profonde et renvoie true si et seulement si au moins 1 des conditions suivantes est remplie.
angular.equals (value1, value2)
- Si les objets ou les valeurs passent la comparaison
===
- Si les deux objets ou les valeurs sont du même type et que toutes leurs propriétés sont également égales en utilisant
angular.equals
- Les deux valeurs sont égales à
NaN
- Les deux valeurs représentent le même résultat de l'expression régulière.
Cette fonction est utile lorsque vous avez besoin de comparer des objets ou des tableaux en fonction de leurs valeurs ou de leurs résultats plutôt que de simples références.
Exemples
angular.equals(1, 1) // true
angular.equals(1, 2) // false
angular.equals({}, {}) // true, note that {}==={} is false
angular.equals({a: 1}, {a: 1}) // true
angular.equals({a: 1}, {a: 2}) // false
angular.equals(NaN, NaN) // true
angular.isString
La fonction angular.isString
renvoie true si l'objet ou la valeur qui lui est donné est du type string
angular.isString (value1)
Exemples
angular.isString("hello") // true
angular.isString([1, 2]) // false
angular.isString(42) // false
C'est l'équivalent de la performance
typeof someValue === "string"
angular.isArray
La fonction angular.isArray
renvoie true si et seulement si l'objet ou la valeur qui lui est transmis est du type Array
.
angular.isArray (valeur)
Exemples
angular.isArray([]) // true
angular.isArray([2, 3]) // true
angular.isArray({}) // false
angular.isArray(17) // false
C'est l'équivalent de
Array.isArray(someValue)
angular.merge
La fonction angular.merge prend toutes les propriétés énumérables de l'objet source pour étendre profondément l'objet de destination.
La fonction renvoie une référence à l'objet de destination maintenant étendu
angular.merge (destination, source)
Exemples
angular.merge({}, {}) // {}
angular.merge({name: "king roland"}, {password: "12345"})
// {name: "king roland", password: "12345"}
angular.merge({a: 1}, [4, 5, 6]) // {0: 4, 1: 5, 2: 6, a: 1}
angular.merge({a: 1}, {b: {c: {d: 2}}}) // {"a":1,"b":{"c":{"d":2}}}
angular.isDefined et angular.isUndefined
La fonction angular.isDefined
teste une valeur si elle est définie
angular.isDefined (someValue)
C'est l'équivalent de la performance
value !== undefined; // will evaluate to true is value is defined
Exemples
angular.isDefined(42) // true
angular.isDefined([1, 2]) // true
angular.isDefined(undefined) // false
angular.isDefined(null) // true
La fonction angular.isUndefined
teste si une valeur est indéfinie (c'est en fait l'opposé de angular.isDefined
)
angular.isUndefined (someValue)
C'est l'équivalent de la performance
value === undefined; // will evaluate to true is value is undefined
Ou juste
!angular.isDefined(value)
Exemples
angular.isUndefined(42) // false
angular.isUndefined(undefined) // true
angular.isDate
La fonction angular.isDate
renvoie true si et seulement si l'objet qui lui est transmis est du type Date.
angular.isDate (valeur)
Exemples
angular.isDate("lone star") // false
angular.isDate(new Date()) // true
angular.isNumber
La fonction angular.isNumber
renvoie true si et seulement si l'objet ou la valeur qui lui est transmis est du type Number, cela inclut + Infinity, -Infinity et NaN
angular.isNumber (valeur)
Cette fonction ne provoquera pas une contrainte de type telle que
"23" == 23 // true
Exemples
angular.isNumber("23") // false
angular.isNumber(23) // true
angular.isNumber(NaN) // true
angular.isNumber(Infinity) // true
Cette fonction ne provoquera pas une contrainte de type telle que
"23" == 23 // true
angular.isFunction
La fonction angular.isFunction
détermine et renvoie true si et seulement si la valeur passée à est une référence à une fonction.
La fonction renvoie une référence à l'objet de destination maintenant étendu
angular.isFunction (fn)
Exemples
var onClick = function(e) {return e};
angular.isFunction(onClick); // true
var someArray = ["pizza", "the", "hut"];
angular.isFunction(someArray ); // false
angular.toJson
La fonction angular.toJson
prendra un objet et le sérialisera dans une chaîne au format JSON.
A la différence de la fonction native JSON.stringify
, cette fonction supprime toutes les propriétés commençant par $$
(car angulaire en général préfixe les propriétés internes avec $$
)
angular.toJson(object)
Comme les données doivent être sérialisées avant de passer par un réseau, cette fonction est utile pour transformer les données que vous souhaitez transmettre en JSON.
Cette fonction est également utile pour le débogage car elle fonctionne de manière similaire à une méthode .toString
.
Exemples:
angular.toJson({name: "barf", occupation: "mog", $$somebizzareproperty: 42})
// "{"name":"barf","occupation":"mog"}"
angular.toJson(42)
// "42"
angular.toJson([1, "2", 3, "4"])
// "[1,"2",3,"4"]"
var fn = function(value) {return value}
angular.toJson(fn)
// undefined, functions have no representation in JSON
angular.fromJson
La fonction angular.fromJson
va désérialiser une chaîne JSON valide et retourner un objet ou un tableau.
angular.fromJson (chaîne | objet)
Notez que cette fonction n'est pas limitée aux chaînes uniquement, elle affichera une représentation de tout objet transmis.
Exemples:
angular.fromJson("{\"yogurt\": \"strawberries\"}")
// Object {yogurt: "strawberries"}
angular.fromJson('{jam: "raspberries"}')
// will throw an exception as the string is not a valid JSON
angular.fromJson(this)
// Window {external: Object, chrome: Object, _gaq: Y, angular: Object, ng339: 3…}
angular.fromJson([1, 2])
// [1, 2]
typeof angular.fromJson(new Date())
// "object"
angular.noop
angular.noop
est une fonction qui angular.noop
aucune opération, vous passez angular.noop
lorsque vous devez fournir un argument de fonction qui ne fera rien.
angular.noop ()
angular.noop
peut servir à fournir un rappel vide à une fonction qui angular.noop
une erreur lorsque quelque chose d'autre qu'une fonction lui est transmis.
Exemple:
$scope.onSomeChange = function(model, callback) {
updateTheModel(model);
if (angular.isFunction(callback)) {
callback();
} else {
throw new Error("error: callback is not a function!");
}
};
$scope.onSomeChange(42, function() {console.log("hello callback")});
// will update the model and print 'hello callback'
$scope.onSomeChange(42, angular.noop);
// will update the model
Exemples supplémentaires:
angular.noop() // undefined
angular.isFunction(angular.noop) // true
angular.isObject
angular.isObject
renvoie true si et seulement si l'argument qui lui est transmis est un objet, cette fonction renverra également true pour un tableau et renverra false pour null
même si typeof null
est object
.
angular.isObject (valeur)
Cette fonction est utile pour la vérification de type lorsque vous avez besoin d'un objet défini à traiter.
Exemples:
angular.isObject({name: "skroob", job: "president"})
// true
angular.isObject(null)
// false
angular.isObject([null])
// true
angular.isObject(new Date())
// true
angular.isObject(undefined)
// false
angular.isElement
angular.isElement
renvoie true si l'argument qui lui est transmis est un élément DOM ou un élément angular.isElement
jQuery.
angular.isElement (elem)
Cette fonction est utile pour taper check si un argument passé est un élément avant d'être traité comme tel.
Exemples:
angular.isElement(document.querySelector("body"))
// true
angular.isElement(document.querySelector("#some_id"))
// false if "some_id" is not using as an id inside the selected DOM
angular.isElement("<div></div>")
// false
copie angulaire
La fonction angular.copy
prend un objet, un tableau ou une valeur et en crée une copie angular.copy
.
angular.copy ()
Exemple:
Objets:
let obj = {name: "vespa", occupation: "princess"};
let cpy = angular.copy(obj);
cpy.name = "yogurt"
// obj = {name: "vespa", occupation: "princess"}
// cpy = {name: "yogurt", occupation: "princess"}
Tableaux:
var w = [a, [b, [c, [d]]]];
var q = angular.copy(w);
// q = [a, [b, [c, [d]]]]
Dans l'exemple ci-dessus, angular.equals(w, q)
sera évalué à true car .equals
teste l'égalité par valeur. Cependant, w === q
évaluera à false car la comparaison stricte entre les objets et les tableaux se fait par référence.
angular.identity
La fonction angular.identity
renvoie le premier argument qui lui est passé.
angular.identity (argument)
Cette fonction est utile pour la programmation fonctionnelle, vous pouvez fournir cette fonction par défaut au cas où une fonction attendue ne serait pas passée.
Exemples:
angular.identity(42) // 42
var mutate = function(fn, num) {
return angular.isFunction(fn) ? fn(num) : angular.identity(num)
}
mutate(function(value) {return value-7}, 42) // 35
mutate(null, 42) // 42
mutate("mount. rushmore", 42) // 42
angulaire.pour chaque
angular.forEach
accepte un objet et une fonction itérateur. Il exécute ensuite la fonction itérateur sur chaque propriété / valeur énumérable de l'objet. Cette fonction fonctionne également sur les tableaux.
Comme la version JS de Array.prototype.forEach
La fonction ne Array.prototype.forEach
pas les propriétés héritées (propriétés de prototype), mais la fonction ne tentera pas de traiter une valeur null
ou undefined
et la renverra simplement.
angular.forEach (objet, fonction (valeur, clé) {// fonction});
Exemples:
angular.forEach({"a": 12, "b": 34}, (value, key) => console.log("key: " + key + ", value: " + value))
// key: a, value: 12
// key: b, value: 34
angular.forEach([2, 4, 6, 8, 10], (value, key) => console.log(key))
// will print the array indices: 1, 2, 3, 4, 5
angular.forEach([2, 4, 6, 8, 10], (value, key) => console.log(value))
// will print the array values: 2, 4, 6, 7, 10
angular.forEach(undefined, (value, key) => console.log("key: " + key + ", value: " + value))
// undefined