Undefined
Undefined ( expresion ) -> Resultado
Parámetro | Tipo | Descripción | |
---|---|---|---|
expresion | Expression | → | Variable a probar |
Resultado | Boolean | ← | True = Variable indefinida False = Variable definida |
Descripción
Undefined devuelve True si el resultado de la evaluación de expresion no es un valor definido, y de lo contrario False.
- Una variable está definida si se creó vía una directiva de compilación o si se le asigna un valor. Está indefinida en todos los demás casos. Si la base ha sido compilada, la función Undefined devuelve False para todas las variables.
- Una propiedad objeto no está definida si no existe en el objeto.
- Undefined siempre devuelve False a todas las referencias de campo.
Nota: tenga en cuenta que Undefined evalúa la expresion. Las siguientes declaraciones son equivalentes:
$result:=Undefined($exp)
// mismo resultado:
$result:=(Value type($exp)=Is undefined)
En algunos casos, es posible que no desee que se evalúe el parámetro (por ejemplo, cuando utiliza un puntero a una variable para verificar si la variable está definida). Entonces, debe escribir:
$result:=(Type($ptr->)=Is undefined) //true si la variable apuntada no existe (sin error)
Ejemplo
Aquí están los diferentes resultados del comando Undefined así como también del comando Null aplicados a las propiedades de objetos, dependiendo del contexto:
var vEmp : Object
vEmp:=New object
vEmp.name:="Smith"
vEmp.children:=Null
$undefined:=Undefined(vEmp.name) // False
$null:=(vEmp.name=Null) //False
$undefined:=Undefined(vEmp.children) // False
$null:=(vEmp.children=Null) //True
$undefined:=Undefined(vEmp.parent) // True
$null:=(vEmp.parent=Null) //True