AngularJS
Funciones auxiliares incorporadas
Buscar..
angular.equals
La función angular.equals
compara y determina si 2 objetos o valores son iguales, angular.equals
realiza una comparación profunda y devuelve true si y solo si se cumple al menos una de las siguientes condiciones.
angular.equals (valor1, valor2)
- Si los objetos o valores pasan la comparación
===
- Si ambos objetos o valores son del mismo tipo, y todas sus propiedades también son iguales al usar
angular.equals
- Ambos valores son iguales a
NaN
- Ambos valores representan el mismo resultado de la expresión regular.
Esta función es útil cuando necesita comparar en profundidad objetos o matrices por sus valores o resultados en lugar de solo referencias.
Ejemplos
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 función angular.isString
devuelve verdadero si el objeto o valor que se le asigna es del tipo string
angular.isString (valor1)
Ejemplos
angular.isString("hello") // true
angular.isString([1, 2]) // false
angular.isString(42) // false
Este es el equivalente de realizar
typeof someValue === "string"
angular.isArray
La función angular.isArray
devuelve verdadero si y solo si el objeto o valor que se le pasa es del tipo Array
.
angular.isArray (valor)
Ejemplos
angular.isArray([]) // true
angular.isArray([2, 3]) // true
angular.isArray({}) // false
angular.isArray(17) // false
Es el equivalente de
Array.isArray(someValue)
angular.merge
La función angular.merge toma todas las propiedades enumerables del objeto de origen para extender profundamente el objeto de destino.
La función devuelve una referencia al objeto de destino ahora extendido
angular.merge (destino, fuente)
Ejemplos
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.isDefinido y angular.isUndefined
La función angular.isDefined
prueba un valor si está definido
angular.isDefined (someValue)
Este es el equivalente de realizar
value !== undefined; // will evaluate to true is value is defined
Ejemplos
angular.isDefined(42) // true
angular.isDefined([1, 2]) // true
angular.isDefined(undefined) // false
angular.isDefined(null) // true
La función angular.isUndefined
prueba si un valor no está definido (en realidad es lo opuesto a angular.isDefined
)
angular.isUndefined (someValue)
Este es el equivalente de realizar
value === undefined; // will evaluate to true is value is undefined
O solo
!angular.isDefined(value)
Ejemplos
angular.isUndefined(42) // false
angular.isUndefined(undefined) // true
angular.isfecha
La función angular.isDate
devuelve verdadero si y solo si el objeto que se le pasa es del tipo Fecha.
angular.isDate (valor)
Ejemplos
angular.isDate("lone star") // false
angular.isDate(new Date()) // true
angular.isNumber
La función angular.isNumber
devuelve verdadero si y solo si el objeto o valor que se le pasa es del tipo Número, esto incluye + Infinito, -Infinito y NaN
angular.isNumber (valor)
Esta función no causará un tipo de coerción como
"23" == 23 // true
Ejemplos
angular.isNumber("23") // false
angular.isNumber(23) // true
angular.isNumber(NaN) // true
angular.isNumber(Infinity) // true
Esta función no causará un tipo de coerción como
"23" == 23 // true
angular.isFunción
La función angular.isFunction
determina y devuelve verdadero si y solo si el valor pasado es una referencia a una función.
La función devuelve una referencia al objeto de destino ahora extendido
angular.isFunción (fn)
Ejemplos
var onClick = function(e) {return e};
angular.isFunction(onClick); // true
var someArray = ["pizza", "the", "hut"];
angular.isFunction(someArray ); // false
angular.toJson
La función angular.toJson
tomará un objeto y lo serializará en una cadena con formato JSON.
A diferencia de la función nativa JSON.stringify
, esta función eliminará todas las propiedades que comienzan con $$
(como angular generalmente prefijos propiedades internas con $$
)
angular.toJson(object)
Como los datos deben ser serializados antes de pasar a través de una red, esta función es útil para convertir cualquier información que desee transmitir en JSON.
Esta función también es útil para la depuración, ya que funciona de manera similar a como lo .toString
un método .toString
.
Ejemplos:
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 función angular.fromJson
deserializará una cadena JSON válida y devolverá un objeto o una matriz.
angular.fromJson (cadena | objeto)
Tenga en cuenta que esta función no se limita a solo cadenas, generará una representación de cualquier objeto que se le pase.
Ejemplos:
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
es una función que no realiza ninguna operación, usted pasa angular.noop
cuando necesita proporcionar un argumento de función que no hará nada.
angular.noop ()
Un uso común de angular.noop
puede ser proporcionar una devolución de llamada vacía a una función que, de lo contrario, generará un error cuando se le pase algo que no sea una función.
Ejemplo:
$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
Ejemplos adicionales:
angular.noop() // undefined
angular.isFunction(angular.noop) // true
angular.isObjeto
angular.isObject
devuelve verdadero si y solo si el argumento que se le pasa es un objeto, esta función también devolverá verdadero para una matriz y devolverá falso para null
, aunque tipo de typeof null
es un object
.
angular.isObjeto (valor)
Esta función es útil para la verificación de tipos cuando necesita procesar un objeto definido.
Ejemplos:
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.iselemento
angular.isElement
devuelve true si el argumento que se le pasa es un elemento DOM o un elemento envuelto jQuery.
angular.isElemento (elem)
Esta función es útil para escribir check si un argumento pasado es un elemento antes de ser procesado como tal.
Ejemplos:
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
angular.copy
La función angular.copy
toma un objeto, una matriz o un valor y crea una copia profunda de él.
angular.copy ()
Ejemplo:
Objetos:
let obj = {name: "vespa", occupation: "princess"};
let cpy = angular.copy(obj);
cpy.name = "yogurt"
// obj = {name: "vespa", occupation: "princess"}
// cpy = {name: "yogurt", occupation: "princess"}
Arrays:
var w = [a, [b, [c, [d]]]];
var q = angular.copy(w);
// q = [a, [b, [c, [d]]]]
En el ejemplo anterior, angular.equals(w, q)
se evaluará como verdadero porque .equals
comprueba la igualdad por valor. sin embargo, w === q
se evaluará como falso porque la comparación estricta entre objetos y matrices se realiza por referencia.
identidad angular
La función angular.identity
devuelve el primer argumento que se le pasa.
identidad angular (argumento)
Esta función es útil para la programación funcional, puede proporcionar esta función como predeterminada en caso de que no se haya pasado una función esperada.
Ejemplos:
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
angular.para cada
El angular.forEach
acepta un objeto y una función de iterador. A continuación, ejecuta la función de iterador sobre cada propiedad / valor enumerable del objeto. Esta función también funciona en matrices.
Al igual que la versión JS de Array.prototype.forEach
La función no itera sobre las propiedades heredadas (propiedades de prototipo), sin embargo, la función no intentará procesar un null
o un valor undefined
y simplemente lo devolverá.
angular.forEach (objeto, función (valor, clave) {// función});
Ejemplos:
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