if($summary = get_post_summary()) { return $summary; }A lo que me refiero es una tarea dentro de una condición. Lo suficientemente astutamente, también se puede hacer en JavaScript, aunque es mucho menos común:
if(summary = document.getElementById("post-summary")) { return summary.innerHTML; }¡A primera vista, te perdonarían por pensar que es un error tipográfico! De hecho, algunos debuggentes lo marcarán con una advertencia, preguntando si se refería a una prueba de igualdad (==) y lo confundió como asignación (=). Pero no es un error: la clave para entenderlo es comprender dos cosas : Primero, la asignación devuelve un valor (el valor que asignó). En segundo lugar y lo más importante, el valor que devuelve evalúa a verdadero o falso, y finalmente determina si la condición pasa. Ahora, en el mundo de DOM Evaluación y transversal, esta técnica es segura y predecible porque los nodos DOM existen o son nulos, y se requiere nula para evaluar en falso . Entonces, en el ejemplo de código anterior, la condición se evaluará en verdadera si el elemento "#post-sumario" existe, o falso si no es así. Igualmente, puede usar el mismo truco para iterar una jerarquía desconocida, atravesando a los padres sucesivos que usan while (). Este ejemplo crea una matriz de cada nombre de nodo entre un objetivo de evento y el #Document:
var names = [], node = e ? e.target : event.srcElement; do { names.push(node.nodeName); } while(node = node.parentNode)Pero en otra parte de JavaScript, podría encontrarse en un territorio mucho menos confiable, porque cuán verdadero o cuán falsos son muchos valores es en absoluto intuitivo. Los números positivos y negativos, por ejemplo, evalúan en verdadero excepto cero y nan . Y extrañamente, un objeto ¡Creado con el constructor booleano siempre se evalúa como verdadero, incluso si fue creado como nuevo booleano (falso)! ¡Ten cuidado! Sintaxis como esta no es para los de corazón débil; Tampoco debe usarse de manera arrogante, con excesiva la conversión de tipo y la fundición de valores arbitrarios. Pero se usa bien en circunstancias adecuadas, puede simplificar muchas condiciones para producir un código más rápido y más delgado.
Crédito de miniatura: sbwoodside
una asignación dentro de una condición se refiere a la práctica de asignar un valor a una variable dentro de una declaración condicional como una declaración "IF". Esta es una práctica común en muchos lenguajes de programación, incluidos JavaScript, C y Python. Permite un código más conciso como asignación y la verificación de condición se puede realizar en una sola línea. Sin embargo, también puede conducir a confusión y posibles errores si no se usa cuidadosamente, ya que la operación de asignación podría confundirse con una operación de comparación.
en expresiones condicionales puede conducir a confusión y posibles errores. Esto se debe a que el operador de asignación (=) puede confundirse fácilmente con el operador de igualdad (==). Como resultado, una condición que estaba destinada a ser una comparación podría convertirse inadvertidamente en una asignación, lo que lleva a un comportamiento inesperado en el código. Además, las tareas en las condiciones pueden hacer que el código sea más difícil de leer y comprender, particularmente para programadores menos experimentados.
para evitar las tareas en expresiones condicionales, puede separar la asignación y la condición verificar en dos líneas de código separadas. Por ejemplo, en lugar de escribir if (x = getValue ()), podría escribir x = getValue (); if (x). Esto deja el código más claro y reduce el riesgo de confusión o errores.
Si bien generalmente se desaniman, hay situaciones en las que las tareas en las condiciones pueden ser beneficiosas. Por ejemplo, en un bucle donde un valor debe actualizarse y verificar en cada iteración, una asignación en la condición puede hacer que el código sea más conciso. Sin embargo, esto debe hacerse con precaución y el código debe comentarse claramente para evitar confusiones.
El operador de asignación (=) se usa para asignar un valor a una variable. Por ejemplo, x = 5 asigna el valor 5 a la variable x. Por otro lado, el operador de igualdad (==) se usa para comparar dos valores. Por ejemplo, if (x == 5) verifica si el valor de x es igual a 5.
typeScript, como JavaScript, permite asignaciones en condiciones. Sin embargo, TypeScript tiene una verificación de tipo más estricta que puede ayudar a atrapar posibles errores causados por las tareas en las condiciones. Por ejemplo, si intenta asignar una cadena a una variable que se supone que es un número dentro de una condición, TypeScript dará un error de tiempo de compilación.
un error común causado por las asignaciones en condiciones es una asignación no intencional cuando se comparó una comparación. Por ejemplo, si (x = 5) siempre será verdadero porque asigna 5 a x, en lugar de verificar si x es igual a 5. Esto puede conducir a un comportamiento inesperado en el código.
¿pueden usarse las tareas en condiciones en todos los lenguajes de programación?
¿hay alguna alternativa a las tareas en condiciones?
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3