Los operadores simbólicos son caracteres que especifican cómo combinar, comparar o modificar los valores de una expresión.
Aritmético | |||
---|---|---|---|
+ | addition | ||
-- | decrement | ||
/ | division | expression1 por expression2 . | |
++ | increment | ||
% | modulo | expression1 dividido por expression2 . | |
* | multiplication | ||
- | subtraction | ||
Asignación | |||
= | assignment | expression2 (el operando de la derecha) a la variable, elemento de conjunto o propiedad de expression1 . | |
Asignación de compuesto aritmético | |||
+= | addition assignment | expression1 el valor de expression1 + expression2 . | |
/= | division assignment | expression1 el valor de expression1 / expression2 . | |
%= | modulo assignment | expression1 el valor de expression1 % expression2 . | |
*= | multiplication assignment | expression1 el valor de expression1 * expression2 . | |
-= | subtraction assignment | expression1 el valor de expression1 - expression2 . | |
Asignación de compuesto en modo bit | |||
&= | bitwise AND assignment | expression1 el valor de expression1 & expression2 . | |
<<= | bitwise left shift and assignment | <<= ) y almacena el contenido como un resultado en expression1 . | |
|= | bitwise OR assignment | expression1 el valor de expression1 | expression2 . | |
>>= | bitwise right shift and assignment | expression . | |
>>>= | bitwise unsigned right shift and assignment | expression . | |
^= | bitwise XOR assignment | expression1 el valor de expression1 ^ expression2 . | |
Comentario | |||
/*..*/ | block comment delimiter | ||
// | line comment delimiter | ||
Comparación | |||
== | equality | ||
> | greater than | expression1 es mayor que expression2 ; si lo es, el resultado es true . | |
>= | greater than or equal to | expression1 es mayor o igual que expression2 (true ) o si expression1 es menor que expression2 (false ). | |
!= | inequality | == ). | |
< | less than | expression1 es menor que expression2 ; si lo es, el resultado es true . | |
<= | less than or equal to | expression1 es mayor o igual a expression2 ; si lo es, el operador devuelve true . | |
=== | strict equality | ||
!== | strict inequality | === ). | |
En modo bit | |||
& | bitwise AND | expression1 y expression2 en enteros de 32 bits sin signo y ejecuta una operación booleana AND en cada bit de los parámetros integer. | |
<< | bitwise left shift | expression1 y shiftCount en enteros de 1 bits y desplaza todos los bits de expression1 a la izquierda el número de posiciones especificado por el entero resultante de la conversión de shiftCount . | |
~ | bitwise NOT | expression en un entero de 32 bits sin signo y, a continuación, aplica un complemento de uno en modo bit. | |
| | bitwise OR | expression1 y expression2 en enteros de 32 bits sin signo y coloca un 1 en cada posición de bit donde los correspondientes bits de expression1 o de expression2 son 1. | |
>> | bitwise right shift | expression y shiftCount en enteros de 32 bits y desplaza todos los bits de expression a la derecha el número de posiciones especificado por el entero resultante de la conversión de shiftCount . | |
>>> | bitwise unsigned right shift | >> ), con la diferencia de que no conserva el signo de la expresión original porque los bits a la izquierda se rellenan siempre con 0. | |
^ | bitwise XOR | expression1 y expression2 en enteros de 1 bits sin signo y coloca un 2 en cada posición de bit donde los correspondientes bits de expression1 o expression2 , pero no ambas, sean 1. | |
Lógico | |||
&& | logical AND | expression1 si es false o se puede convertir a false , y devuelve expression2 en caso contrario. | |
&&= | logical AND assignment | expression1 el valor de expression1 && expression2 . | |
! | logical NOT | ||
|| | logical OR | expression1 si es true o se puede convertir a true y devuelve expression2 en caso contrario. | |
||= | logical OR assignment | expression1 el valor de expression1 || expression2 . | |
Otros | |||
[] | array access | a0 y así sucesivamente) o accede a elementos de un conjunto. | |
as | |||
, | comma | expression1 , luego expression2 , y así sucesivamente. | |
?: | conditional | expression1 y, si el valor de expression1 es true , el resultado es el valor de expression2 ; en caso contrario, es el valor de expression3 . | |
delete | reference ; el resultado es true si la propiedad no existe al finalizar la operación; en caso contrario, el resultado es false . | ||
. | dot | ||
in | |||
instanceof | function . | ||
is | |||
:: | name qualifier | ||
new | |||
{} | object initializer | name y value . | |
() | parentheses | ||
/ | RegExp delimiter | ||
: | type | ||
typeof | expression y devuelve una cadena que especifica el tipo de datos de la expresión. | ||
void | undefined . | ||
Cadena | |||
+ | concatenation | ||
+= | concatenation assignment | expression1 el valor de expression1 + expression2 . | |
" | string delimiter | ||
XML | |||
@ | attribute identifier | ||
{ } | braces (XML) | ||
[ ] | brackets (XML) | ||
+ | concatenation (XMLList) | ||
+= | concatenation assignment (XMLList) | expression1 , que es un objeto XMLList, el valor de expression1 + expression2 . | |
delete (XML) | reference . | ||
.. | descendant accessor | ||
. | dot (XML) | ||
( ) | parentheses (XML) | ||
< > | XML literal tag delimiter |
+ addition | Operador |
|
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Suma expresiones numéricas. Si ambas expresiones son enteros, la suma es un entero; si al menos una de las expresiones es un número de coma flotante, la suma es un número de coma flotante.
Si una expresión es una cadena, todas las demás expresiones se convierten en cadenas y se concatenan en lugar de sumarse. En caso contrario, si una expresión no es un número, Flash® Player la convierte en un número.
Operandosexpression1:Number —
Valor que se va a sumar.
| |
expression2:Number —
Valor que se va a sumar.
|
Number —
Entero o número de coma flotante.
|
Ejemplo
Cómo utilizar este ejemplo
Esta sentencia suma los enteros 2 y 3:
trace(2 + 3); // 5
trace(2.5 + 3.25); // 5.75
trace("Number " + 8 + 0); // Number 80
deposit
es un campo de texto de entrada en el escenario. Cuando un usuario introduce una cantidad de depósito, el guion intenta añadir deposit
a oldBalance
. Sin embargo, dado que deposit
es un tipo de datos String, el script concatena (combina para formar una cadena) los valores variables en lugar de sumarlos.
var oldBalance:Number = 1345.23; var currentBalance = deposit_txt.text + oldBalance; trace(currentBalance);
trace()
envía el valor 4751345.23 al panel Salida. Para corregir esto, utilice la función Number()
para convertir la cadena en un número, como se muestra aquí:
var oldBalance:Number = 1345.23; var currentBalance:Number = Number(deposit_txt.text) + oldBalance; trace(currentBalance);
Elementos de API relacionados
+= addition assignment | Operador |
|
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Asigna a expression1
el valor de expression1 + expression2
. Por ejemplo, las dos sentencias siguientes tienen el mismo resultado:
x += y; x = x + y;Todas las reglas del operador de suma (+) se aplican al operador de asignación de suma (
+=
)
Operandosexpression1:Number —
Un número.
| |
expression2:Number —
Un número.
|
Number —
El resultado de la suma.
|
Ejemplo
Cómo utilizar este ejemplo
El ejemplo siguiente muestra un uso numérico del operador de asignación de suma (
+=
):
var x:Number = 5; var y:Number = 10; x += y; trace(x); // 15
Elementos de API relacionados
[] array access | Operador |
|
Versiones de motor de ejecución: | Flash Player 9 |
Inicializa una nuevo conjunto o conjunto multidimensional con los elementos especificados (a0
y así sucesivamente) o accede a elementos de un conjunto. El operador de acceso a conjunto permite establecer dinámicamente y recuperar nombres de instancia, variable y objeto. También permite acceder a propiedades de objeto.
Sintaxis 1: un conjunto es un objeto cuyas propiedades se denominan elementos, que se identifican mediante un número denominado índice. Cuando se crea un conjunto, se rodean los elementos con el operador de acceso a conjunto ([]) (o corchetes). Un conjunto puede contener elementos de diversos tipos. Por ejemplo, el siguiente conjunto, denominado employee
, tiene tres elementos; el primero es un número y los dos siguientes son cadenas (entre comillas):
var employee:Array = [15, "Barbara", "Jay"];
ticTacToe
, con tres elementos; cada elemento es a su vez un conjunto con tres elementos: var ticTacToe:Array = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]; /* Select Debug > List Variables in test mode to see a list of the array elements.*/
var my_array:Array = new Array(); my_array[0] = 15; my_array[1] = "Hello"; my_array[2] = true;
my_array[3] = "George";
trace()
encuentra el tercer elemento (índice 2) del segundo conjunto (índice 1).
var ticTacToe:Array = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]; trace(ticTacToe[1][2]); // 6
var obj:Object = new Object(); obj.prop1 = "foo"; trace(obj["prop" + 1]); // foo obj.prop2 = "bar"; for (j in obj) { trace(obj[j]); } /* Output of for loop: foo bar */
myArray:Object —
El nombre de un conjunto.
| |
a0, a1,...aN:Object —
Elementos de un conjunto; cualquier tipo nativo o instancia de objeto, incluidos los conjunto anidados.
| |
i:Number —
Índice de número entero mayor o igual a 0.
| |
myObject:Object —
Nombre de un objeto.
| |
propertyName:String —
Cadena que denomina una propiedad del objeto.
|
Object —
Sintaxis 1: una referencia a un conjunto. Sintaxis 2: un valor del conjunto, ya sea un tipo nativo o una instancia de objeto (incluida una instancia de Array). Sintaxis 3: una propiedad del objeto, ya sea un tipo nativo o una instancia de objeto (incluida una instancia de Array). |
Ejemplo
Cómo utilizar este ejemplo
El ejemplo siguiente muestra dos formas de crear un nuevo objeto Array vacío; la primera línea utiliza corchetes:
var my_array:Array = []; var my_array:Array = new Array();
El siguiente código crea un conjunto denominado employee_array
con tres elementos y cambia el tercer elemento del conjunto.
var employee_array = ["Barbara", "George", "Mary"]; trace(employee_array); // Barbara,George,Mary employee_array[2] = "Sam"; trace(employee_array); // Barbara,George,Sam
obj
:
var obj:Object = new Object(); obj.prop1 = "foo"; obj.prop2 = "bar"; for (var i:int = 1;i < 3;i++) { trace(obj["prop"+i]); } /* Output of for loop: foo bar */
Elementos de API relacionados
as | Operador |
|
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Evalúa si una expresión especificada por el primer operando es miembro del tipo de datos especificado por el segundo operando. Si el primer operando es miembro del tipo de datos, el resultado es el primer operando. En caso contrario, el resultado es el valor null
.
La expresión utilizada por el segundo operando debe dar como resultado un tipo de datos.
Operandosexpression:* —
El valor con el que debe comprobarse el tipo de datos especificado.
| |
datatype:Class —
El tipo de datos utilizado para evaluar el operando expression . El tipo especial *, que significa que no tiene tipo asignado, no puede utilizarse.
|
Object —
El resultado es expression si expression es miembro del tipo de datos especificado en datatype . En caso contrario, el resultado es el valor null .
|
Ejemplo
Cómo utilizar este ejemplo
El ejemplo siguiente crea un conjunto simple denominado
myArray
y utiliza el operador as
con diversos tipos de datos.
public var myArray:Array = ["one", "two", "three"]; trace(myArray as Array); // one,two,three trace(myArray as Number); // null trace(myArray as int); // null
Elementos de API relacionados
= assignment | Operador |
|
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Asigna el valor de expression2
(el operando de la derecha) a la variable, elemento de conjunto o propiedad de expression1
. La asignación puede ser por valor o por referencia. La asignación por valor copia el valor actual de expression2
y lo almacena en expression1
. La asignación por valor se utiliza cuando expression2
es un valor simple, lo que significa que su tipo de datos es Boolean, Number, int, uint o String. La asignación por referencia almacena una referencia a expression2
en expression1
. La asignación por referencia suele utilizarse con operador new
. El operador new
crea un objeto en la memoria y se asigna a la variable una referencia a dicha ubicación en la memoria.
Nota: en ActionScript 3.0, todos los valores (incluidos los simples) son objetos y todas las asignaciones se realizan por referencia, pero los objetos simples tienen operadores especiales que les permiten comportarse como si fueran asignados por valor.
Operandosexpression1:* —
Una variable, un elemento de un conjunto o una propiedad de un objeto.
| |
expression2:* —
Valor de cualquier tipo.
|
Object —
El valor asignado, expression2 .
|
Ejemplo
Cómo utilizar este ejemplo
El ejemplo siguiente utiliza la asignación por valor para asignar el valor de 5 a la variable
z
.
var z:Number = 5;
hello
" a la variable z
:
var x:String; x = "hello";
moonsOfJupiter
, que contiene una referencia a un objeto Array recién creado. A continuación, se utiliza asignación por valor para copiar el valor "Callisto" al primer elemento del conjunto a la que hace referencia la variable moonsOfJupiter
:
var moonsOfJupiter:Array = new Array(); moonsOfJupiter[0] = "Callisto";
mercury
. A continuación, se utiliza asignación por valor para asignar el valor de 3030 a la propiedad diameter
del objeto mercury
:
var mercury:Object = new Object(); mercury.diameter = 3030; // in miles trace(mercury.diameter); // 3030
merkur
(mercurio en alemán) y asignándole el valor de mercury
. De este modo se crean dos variables que hacen referencia al mismo objeto en la memoria, lo que significa que puede utilizar cualquiera de ellas para acceder a las propiedades del objeto. Seguidamente podemos cambiar la propiedad diameter
para utilizar kilómetros en lugar de millas:
var merkur:Object = mercury; merkur.diameter = 4878; // in kilometers trace(mercury.diameter); // 4878
Elementos de API relacionados
@ attribute identifier | Operador |
myXML.@attributeName |
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Identifica atributos de un objeto XML o XMLList. Por ejemplo, myXML.@id
identifica atributos llamados id
para el objeto XML myXML
. También puede utilizar la siguiente sintaxis para acceder a atributos: myXML.attribute("id")
, myXML["@id"]
y myXML.@["id"]
. La sintaxis myXML.@id
es la recomendada. Para devolver un objeto XMLList con todos los nombres de atributos, utilice @*
. Para devolver un atributo con un nombre que coincida con una palabra reservada de ActionScript, utilice el método attribute()
en lugar del operador @
.
attributeName:* —
El nombre del atributo.
|
Ejemplo
Cómo utilizar este ejemplo
El primer ejemplo muestra cómo utilizar el operador
@
(arroba) para identificar un atributo de un elemento:
var myXML:XML = <item id = "42"> <catalogName>Presta tube</catalogName> <price>3.99</price> </item>; trace(myXML.@id); // 42
var xml:XML =<example id='123' color='blue'/> var xml2:XMLList = xml.@*; trace(xml2 is XMLList); // true trace(xml2.length()); // 2 for (var i:int = 0; i < xml2.length(); i++) { trace(typeof(xml2[i])); // xml trace(xml2[i].nodeKind()); // attribute trace(xml2[i].name()); // id and color }
xml.@class
(ya que class
es una palabra reservada en ActionScript). Necesita utilizar la sintaxis xml.attribute("class")
:
var xml:XML = <example class='123'/> trace(xml.attribute("class"));
Elementos de API relacionados
& bitwise AND | Operador |
|
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Convierte expression1
y expression2
en enteros de 32 bits sin signo y ejecuta una operación booleana AND en cada bit de los parámetros integer. Los números de coma flotante se convierten en enteros al descartarse los dígitos después de la coma decimal. El resultado es un nuevo entero de 32 bits.
Un entero positivo se convierte en un valor hexadecimal sin signo con valor máximo de 4294967295 o 0xFFFFFFFF; un valor por encima del máximo hace que los dígitos más significativos se descarten al convertirse para que el valor siga siendo de 32 bits. Un valor negativo se convierte en un valor hexadecimal sin signo con notación de complemento de dos y con un valor mínimo de -2147483648 o 0x800000000. Un número por debajo del mínimo se convierte a complemento de dos con mayor precisión antes de descargar los dígitos más significativos.
El resultado se interpreta como un número complementario del dos de 32 bits, de forma que el resultado sea un entero del intervalo comprendido entre -2147483648 y 2147483647.
Operandosexpression1:Number —
Número o expresión que da como resultado un número.
| |
expression2:Number —
Número o expresión que da como resultado un número.
|
int —
El resultado de la operación en modo bit.
|
Ejemplo
Cómo utilizar este ejemplo
El ejemplo siguiente ejecuta una operación AND en modo bit de 13 (binario 1101) y 11 (binario 1011) mediante la comparación de las representaciones de bits de los números. El entero resultante se compone de una secuencia de bits, cada uno de ellos configurado en 1 solo si los bits de ambos operandos en la misma posición son 1.
var insert:Number = 13; var update:Number = 11; trace(insert & update); // 9 (or 1001 binary)
1101 & 1011 ---- 1001
Los ejemplos siguientes muestran el comportamiento de la conversión del valor devuelto:
trace(0xFFFFFFFF); // 4294967295 trace(0xFFFFFFFF & 0xFFFFFFFF); // -1 trace(0xFFFFFFFF & -1); // -1 trace(4294967295 & -1); // -1 trace(4294967295 & 4294967295); // -1
Elementos de API relacionados
&= bitwise AND assignment | Operador |
|
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Asigna a expression1
el valor de expression1
& expression2
. Por ejemplo, las dos expresiones siguientes son equivalentes:
x &= y; x = x & y;Operandos
expression1:Number —
Número o expresión que da como resultado un número.
| |
expression2:Number —
Número o expresión que da como resultado un número.
|
int —
El valor de expression1 & expression2 .
|
Ejemplo
Cómo utilizar este ejemplo
El ejemplo siguiente asigna el valor 9 a
x
:
var x:Number = 15; var y:Number = 9; trace(x &= y); // 9
Elementos de API relacionados
<< bitwise left shift | Operador |
|
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Convierte expression1
y shiftCount
en enteros de 1 bits y desplaza todos los bits de expression1
a la izquierda el número de posiciones especificado por el entero resultante de la conversión de shiftCount
. Las posiciones de bit vacías fruto de esta operación se llenan con 0 y los bits que se desplazan a la izquierda se descartan. Desplazar un valor una posición a la izquierda equivale a multiplicarlo por 2.
Los números de coma flotante se convierten en enteros al descartarse los dígitos después de la coma decimal. Un entero positivo se convierte en un valor hexadecimal sin signo con valor máximo de 4294967295 o 0xFFFFFFFF; un valor por encima del máximo hace que los dígitos más significativos se descarten al convertirse para que el valor siga siendo de 32 bits. Un valor negativo se convierte en un valor hexadecimal sin signo con notación de complemento de dos y con un valor mínimo de -2147483648 o 0x800000000. Un número por debajo del mínimo se convierte a complemento de dos con mayor precisión antes de descargar los dígitos más significativos.
El resultado se interpreta como un número complementario del dos de 32 bits, de forma que el resultado sea un entero del intervalo comprendido entre -2147483648 y 2147483647.
Si el resultado es un entero negativo, se producirá un error de tiempo de ejecución si intenta asignar el resultado a una variable de tipo uint
. Aunque ActionScript no tiene operador de "desplazamiento a la izquierda en modo bit sin signo", puede lograr el mismo efecto y evitar el error de tiempo de ejecución utilizando uint(expression1 << shiftCount)
:
var num1:uint = 0xFF; var num2:uint = uint(num1 << 24); // uint() prevents runtime error
expression1:Number —
Número o expresión que se va a desplazar a la izquierda.
| |
shiftCount:Number —
Número o expresión que se convierte en un entero de 0 a 31.
|
int —
El resultado de la operación en modo bit.
|
Ejemplo
Cómo utilizar este ejemplo
En el ejemplo siguiente, el entero 1 se desplaza 10 bits a la izquierda:
x = 1 << 10
00000000001 binary << 10 decimal -------------- 10000000000 binary equals 1024 decimal
En el ejemplo siguiente, el entero 7 se desplaza 8 bits a la izquierda:
x = 7 << 8
00000000111 binary << 8 decimal -------------- 11100000000 binary equals 1792 decimal
La siguiente sentencia trace
muestra que los bits se han desplazado tres posiciones a la izquierda:
// 1 binary == 0001 // 8 binary == 1000 trace(1 << 3); // 8
Elementos de API relacionados
<<= bitwise left shift and assignment | Operador |
|
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Lleva a cabo una operación de desplazamiento a la izquierda en modo bit (<<=
) y almacena el contenido como un resultado en expression1
. Las dos expresiones siguientes son equivalentes:
A <<= B A = (A << B)Operandos
expression1:Number —
Número o expresión que se va a desplazar a la izquierda.
| |
expression2:Number —
Número o expresión que se convierte en un entero de 0 a 31.
|
int —
El resultado de la operación en modo bit.
|
Ejemplo
Cómo utilizar este ejemplo
En el ejemplo siguiente se utiliza el operador de asignación y desplazamiento a la izquierda en modo bit (<<=) para desplazar todos los bits una posición a la izquierda:
var x:Number = 4; // Shift all bits one slot to the left. x <<= 1; trace(x); // 8 // 4 decimal = 0100 binary // 8 decimal = 1000 binary
Elementos de API relacionados
~ bitwise NOT | Operador |
|
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Convierte expression
en un entero de 32 bits sin signo y, a continuación, aplica un complemento de uno en modo bit. Es decir, que cada bit que sea 0 se establece como 1 en el resultado y cada bit que sea 1 se establece como 0 en el resultado. El resultado es un entero de 32 bits sin signo. Este operador también se conoce como operador complementario de uno u operador complementario en modo bit.
Por ejemplo, el valor hexadecimal 0x7777 se representa como este número binario:
0111011101110111
La negación en modo bit de dicho valor hexadecimal, ~0x7777, se corresponde con este número binario:
1000100010001000
El valor hexadecimal correspondiente es 0x8888. Por lo tanto, ~0x7777 es 0x8888.
El uso más común de los operadores en modo bit es la representación de bits indicadores (valores booleanos empaquetados en 1 bit cada uno).
Los números de coma flotante se convierten en enteros al descartarse los dígitos después de la coma decimal. Un entero positivo se convierte en un valor hexadecimal sin signo con valor máximo de 4294967295 o 0xFFFFFFFF; un valor por encima del máximo hace que los dígitos más significativos se descarten al convertirse para que el valor siga siendo de 32 bits. Un valor negativo se convierte en un valor hexadecimal sin signo con notación de complemento de dos y con un valor mínimo de -2147483648 o 0x800000000. Un número por debajo del mínimo se convierte a complemento de dos con mayor precisión antes de descargar los dígitos más significativos.
El resultado se interpreta como un número complementario del dos de 32 bits, de forma que el resultado sea un entero del intervalo comprendido entre -2147483648 y 2147483647.
Operandosexpression:Number —
Un número que se va a convertir.
|
int —
El resultado de la operación en modo bit.
|
Ejemplo
Cómo utilizar este ejemplo
El ejemplo siguiente demuestra un uso del operador NOT en modo bit (
~
) con bits indicadores:
var ReadOnlyFlag:int = 0x0001; // defines bit 0 as the read-only flag var flags:int = 0; trace(flags); /* To set the read-only flag in the flags variable, the following code uses the bitwise OR: */ flags |= ReadOnlyFlag; trace(flags); /* To clear the read-only flag in the flags variable, first construct a mask by using bitwise NOT on ReadOnlyFlag. In the mask, every bit is a 1 except for the read-only flag. Then, use bitwise AND with the mask to clear the read-only flag. The following code constructs the mask and performs the bitwise AND: */ flags &= ~ReadOnlyFlag; trace(flags); // 0 1 0
Elementos de API relacionados
| bitwise OR | Operador |
|
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Convierte expression1
y expression2
en enteros de 32 bits sin signo y coloca un 1 en cada posición de bit donde los correspondientes bits de expression1
o de expression2
son 1.
Los números de coma flotante se convierten en enteros al descartarse los dígitos después de la coma decimal. Un entero positivo se convierte en un valor hexadecimal sin signo con valor máximo de 4294967295 o 0xFFFFFFFF; un valor por encima del máximo hace que los dígitos más significativos se descarten al convertirse para que el valor siga siendo de 32 bits. Un valor negativo se convierte en un valor hexadecimal sin signo con notación de complemento de dos y con un valor mínimo de -2147483648 o 0x800000000. Un número por debajo del mínimo se convierte a complemento de dos con mayor precisión antes de descargar los dígitos más significativos.
El resultado se interpreta como un número complementario del dos de 32 bits, de forma que el resultado sea un entero del intervalo comprendido entre -2147483648 y 2147483647.
Operandosexpression1:Number —
Un número.
| |
expression2:Number —
Un número.
|
int —
El resultado de la operación en modo bit.
|
Ejemplo
Cómo utilizar este ejemplo
A continuación se ofrece un ejemplo de una operación OR (
|
) en modo bit: // 15 decimal = 1111 binary var a:Number = 15; // 9 decimal = 1001 binary var b:Number = 9; // 1111 | 1001 = 1111 trace(a | b); // returns 15 decimal (1111 binary)
|
(OR en modo bit) con ||
(OR lógico).
Elementos de API relacionados
|= bitwise OR assignment | Operador |
|
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Asigna a expression1
el valor de expression1 | expression2
. Por ejemplo, las dos sentencias siguientes son equivalentes:
x |= y; x = x | y;Operandos
expression1:Number —
Un número que se va a convertir.
| |
expression2:Number —
Un número que se va a convertir.
|
int —
El resultado de la operación en modo bit.
|
Ejemplo
Cómo utilizar este ejemplo
El ejemplo siguiente utiliza el operador de asignación OR en modo bit (
|=
): // 15 decimal = 1111 binary var a:Number = 15; // 9 decimal = 1001 binary var b:Number = 9; // 1111 |= 1001 = 1111 trace(a |= b); // returns 15 decimal (1111 binary)
Elementos de API relacionados
>> bitwise right shift | Operador |
|
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Convierte expression
y shiftCount
en enteros de 32 bits y desplaza todos los bits de expression
a la derecha el número de posiciones especificado por el entero resultante de la conversión de shiftCount
. Los bits que se desplazan fuera del extremo derecho se descartan. Para conservar el signo de la expresión original, los bits situados a la izquierda se rellenan con 0 si el bit más significativo (situado más a la izquierda) de expression
es 0, y se rellenan con 1 si el bit más significativo es 1. Pasar un valor a la derecha una posición, equivale a dividir por 2 y descartar el resto.
Los números de coma flotante se convierten en enteros al descartarse los dígitos después de la coma decimal. Un entero positivo se convierte en un valor hexadecimal sin signo con valor máximo de 4294967295 o 0xFFFFFFFF; un valor por encima del máximo hace que los dígitos más significativos se descarten al convertirse para que el valor siga siendo de 32 bits. Un valor negativo se convierte en un valor hexadecimal sin signo con notación de complemento de dos y con un valor mínimo de -2147483648 o 0x800000000. Un número por debajo del mínimo se convierte a complemento de dos con mayor precisión antes de descargar los dígitos más significativos.
El resultado se interpreta como un número complementario del dos de 32 bits, de forma que el resultado sea un entero del intervalo comprendido entre -2147483648 y 2147483647.
Operandosexpression:Number —
Número o expresión que se va a desplazar a la derecha.
| |
shiftCount:Number —
Número o expresión que se convierte en un entero de 0 a 31.
|
int —
El resultado de la operación en modo bit.
|
Ejemplo
Cómo utilizar este ejemplo
El ejemplo siguiente convierte 65535 en un entero de 32 bits y lo desplaza 8 bits a la derecha, lo que da como resultado el valor decimal 255:
var a:Number = 65535 >> 8; trace(a); // 255
00000000000000001111111111111111 binary (65535 decimal) >> 8 decimal -------------------- 00000000000000000000000011111111 binary (255 decimal)El ejemplo siguiente convierte -8 en un entero de 32 bits y lo desplaza 1 bit a la derecha, lo que da como resultado el valor decimal -4:
var a:Number = -8 >> 1; trace(a); // -4
11111111111111111111111111111000 binary (-8 decimal) >> 1 decimal -------------------- 11111111111111111111111111111100 binary (-4 decimal)
Elementos de API relacionados
>>= bitwise right shift and assignment | Operador |
|
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Ejecuta una operación de desplazamiento a la derecha en modo bit y almacena el resultado en expression
.
Las dos sentencias siguientes son equivalentes:
A >>= B; A = (A >> B);Operandos
expression:Number —
Número o expresión que se va a desplazar a la derecha.
| |
shiftCount:Number —
Número o expresión que se convierte en un entero de 0 a 31.
|
int —
El resultado de la operación en modo bit.
|
Ejemplo
Cómo utilizar este ejemplo
El siguiente código utiliza el operador de asignación y desplazamiento a la derecha en modo bit (
>>=
):
function convertToBinary(numberToConvert:Number):String { var result:String = ""; for (var i = 0; i < 32; i++) { // Extract least significant bit using bitwise AND. var lsb:Number = numberToConvert & 1; // Add this bit to the result. result = (lsb ? "1" : "0")+result; // Shift numberToConvert right by one bit, to see next bit. numberToConvert >>= 1; } return result; } trace(convertToBinary(479)); // Returns the string 00000000000000000000000111011111. // This string is the binary representation of the decimal number 479.
Elementos de API relacionados
>>> bitwise unsigned right shift | Operador |
|
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Es igual al operador de desplazamiento a la derecha en modo bit (>>
), con la diferencia de que no conserva el signo de la expresión original porque los bits a la izquierda se rellenan siempre con 0.
Los números de coma flotante se convierten en enteros al descartarse los dígitos después de la coma decimal. Un entero positivo se convierte en un valor hexadecimal sin signo con valor máximo de 4294967295 o 0xFFFFFFFF; un valor por encima del máximo hace que los dígitos más significativos se descarten al convertirse para que el valor siga siendo de 32 bits. Un valor negativo se convierte en un valor hexadecimal sin signo con notación de complemento de dos y con un valor mínimo de -2147483648 o 0x800000000. Un número por debajo del mínimo se convierte a complemento de dos con mayor precisión antes de descargar los dígitos más significativos.
El resultado se interpreta como un entero de 32 bits sin signo, de forma que el resultado sea un entero del intervalo comprendido entre 0 y 4294967295.
Nota: aunque ActionScript no tiene operador complementario de "desplazamiento a la izquierda en modo bit sin signo", puede lograr el mismo efecto utilizando uint(expression << shiftCount)
.
expression:Number —
Número o expresión que se va a desplazar a la derecha.
| |
shiftCount:Number —
Número o expresión que se convierte en un entero entre 0 y 31.
|
uint —
El resultado de la operación en modo bit.
|
Ejemplo
Cómo utilizar este ejemplo
El ejemplo siguiente convierte -1 en un entero de 32 bits y lo desplaza 1 bit a la derecha:
var a:Number = -1 >>> 1; trace(a); // 2147483647
Elementos de API relacionados
>>>= bitwise unsigned right shift and assignment | Operador |
|
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Ejecuta una operación de desplazamiento a la derecha en modo bit sin signo y almacena el resultado en expression
. Las dos sentencias siguientes son equivalentes:
A >>>= B; A = (A >>> B);Operandos
expression:Number —
Número o expresión que se va a desplazar a la derecha.
| |
shiftCount:Number —
Número o expresión que se convierte en un entero de 0 a 31.
|
uint —
El resultado de la operación en modo bit.
|
Ejemplo
Cómo utilizar este ejemplo
El ejemplo siguiente convierte -1 en un entero de 32 bits y lo desplaza 1 bit a la derecha:
var a:Number = -1; a >>>= 1; trace(a); // 2147483647
Elementos de API relacionados
^ bitwise XOR | Operador |
|
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Convierte expression1
y expression2
en enteros de 1 bits sin signo y coloca un 2 en cada posición de bit donde los correspondientes bits de expression1
o expression2
, pero no ambas, sean 1.
Los números de coma flotante se convierten en enteros al descartarse los dígitos después de la coma decimal. Un entero positivo se convierte en un valor hexadecimal sin signo con valor máximo de 4294967295 o 0xFFFFFFFF; un valor por encima del máximo hace que los dígitos más significativos se descarten al convertirse para que el valor siga siendo de 32 bits. Un valor negativo se convierte en un valor hexadecimal sin signo con notación de complemento de dos y con un valor mínimo de -2147483648 o 0x800000000. Un número por debajo del mínimo se convierte a complemento de dos con mayor precisión antes de descargar los dígitos más significativos.
El resultado se interpreta como un número complementario del dos de 32 bits, de forma que el resultado sea un entero del intervalo comprendido entre -2147483648 y 2147483647.
Operandosexpression1:Number —
Número o expresión que da como resultado un número.
| |
expression2:Number —
Número o expresión que da como resultado un número.
|
int —
El resultado de la operación en modo bit.
|
Ejemplo
Cómo utilizar este ejemplo
El ejemplo siguiente utiliza el operador XOR en modo bit en los decimales 15 y 9, y asigna el resultado a la variable
a
:
// 15 decimal = 1111 binary // 9 decimal = 1001 binary var a:Number = 15 ^ 9; trace(a); // 1111 ^ 1001 = 0110 // returns 6 decimal (0110 binary)
Elementos de API relacionados
^= bitwise XOR assignment | Operador |
|
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Asigna a expression1
el valor de expression1 ^ expression2
. Por ejemplo, las dos sentencias siguientes son equivalentes:
x ^= y x = x ^ yOperandos
expression1:Number —
Número o expresión que da como resultado un número.
| |
expression2:Number —
Número o expresión que da como resultado un número.
|
int —
El resultado de la operación en modo bit.
|
Ejemplo
Cómo utilizar este ejemplo
El ejemplo siguiente muestra una operación de asignación de XOR en modo bit (^=):
// 15 decimal = 1111 binary var a:Number = 15; // 9 decimal = 1001 binary var b:Number = 9; trace(a ^= b); // returns 6 decimal (0110 binary)
Elementos de API relacionados
/*..*/ block comment delimiter | Operador |
/* comment */ /* comment comment */ |
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Delimita una o varias líneas de comentarios de script. Los caracteres que aparecen entre el delimitador de apertura (/*
) y el delimitador de cierre (*/
) se interpretan como un comentario y el compilador de ActionScript los omite. Utilice estos delimitadores para identificar comentarios en varias líneas sucesivas; para comentarios de una sola línea, use el delimitador //
.
Recibirá un mensaje de error si omite el delimitador de cierre del bloque de comentario (*/
) o si intenta anidar comentarios. Después de utilizar un delimitador de apertura (/*
), el primer delimitador de cierre (*/
) finaliza el comentario, independientemente del número de delimitadores de apertura que haya delante de él.
comment:* —
Cualquier carácter.
|
Ejemplo
Cómo utilizar este ejemplo
El siguiente script utiliza delimitadores de bloque de comentarios al principio del script:
/* records the X and Y positions of the ball and bat movie clips */ var ballX:Number = ball_mc._x; var ballY:Number = ball_mc._y; var batX:Number = bat_mc._x; var batY:Number = bat_mc._y;
/* This is an attempt to nest comments. /* But the first closing tag will be paired with the first opening tag */ and this text will not be interpreted as a comment */
Elementos de API relacionados
{ } braces (XML) | Operador |
myXML = <{tagName} {attributeName} = {attributeValue}>{content}{tagName}> |
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Evalúa una expresión que se utiliza en un inicializador de XML o XMLList. Un inicializador de XML o XMLList es un valor literal que se asigna a una variable de tipo XML o XMLList. Se puede utilizar una expresión delimitada por los operadores XML {
y }
en un inicializador XML o XMLList en vez de nombres literales o valores. Se puede utilizar una expresión en lugar de tagName
, attributeName
, attributeValue
y content
.
myXML:* —
Un objeto XML o XMLList.
| |
tagName:* —
Expresión que da como resultado el nombre de una etiqueta XML.
| |
attributeName:* —
Expresión que da como resultado el nombre de un atributo XML.
| |
attributeValue:* —
Expresión que da como resultado el valor de un atributo XML.
| |
content:* —
Expresión que da como resultado el contenido de una etiqueta XML.
|
Ejemplo
Cómo utilizar este ejemplo
El ejemplo siguiente muestra cómo utilizar los operadores { y } al definir un literal XML:
var tagname:String = "item"; var attributename:String = "id"; var attributevalue:String = "5"; var content:String = "Chicken"; var x:XML = <{tagname} {attributename}={attributevalue}>{content}</{tagname}>; trace(x.toXMLString()); // <item id="5">Chicken</item>
Elementos de API relacionados
[ ] brackets (XML) | Operador |
myXML[expression] |
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Obtiene acceso a una propiedad o atributo de un objeto XML o XMLList. El operador de corchetes le permite obtener acceso a nombres de propiedades a las que no es posible acceder con el operador de punto (.
).
myXML:* —
Un objeto XML o XMLList.
| |
expression:* —
Expresión que da como resultado el nombre de una etiqueta o atributo XML.
|
Ejemplo
Cómo utilizar este ejemplo
El ejemplo siguiente muestra cómo utilizar los operadores
[
y ]
para acceder a una propiedad XML que es a la que no es posible acceder con el operador de punto debido al guion existente en el nombre de la etiqueta:
var myXML:XML = <a><foo-bar>44</foo-bar></a>; trace(myXML["foo-bar"]);
Elementos de API relacionados
, comma | Operador |
|
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Evalúa primero expression1
, luego expression2
, y así sucesivamente. Este operador se utiliza principalmente con la sentencia de bucle for
y a menudo con el operador de paréntesis ()
.
expression1:* —
Expresión que se va a evaluar.
| |
expression2:* —
Expresión que se va a evaluar.
| |
expressionN:* —
Cualquier número de expresiones adicionales que se van a evaluar.
|
Object —
Los valores de las expresiones evaluadas.
|
Ejemplo
Cómo utilizar este ejemplo
El ejemplo siguiente utiliza el operador de coma (
,
) en un bucle for
:
for (i = 0, j = 0; i < 3 && j < 3; i++, j+=2) { trace("i = " + i + ", j = " + j); } // output: // i = 0, j = 0 // i = 1, j = 2
=
):
var v:Number = 0; v = 4, 5, 6; trace(v); // 4
var v:Number = 0; v = (4, 5, 6); trace(v); // 6
v + 4
, se asigna a la variable v
, ya que el operador de asignación (=) tiene mayor prioridad que el operador de coma. Se evalúa la segunda expresión, z++
, y z
se incrementa en uno.
var v:Number = 0; var z:Number = 0; v = v + 4 , z++, v + 6; trace(v); // 4 trace(z); // 1
=
):
var v:Number = 0; var z:Number = 0; v = (v + 4, z++, v + 6); trace(v); // 6 trace(z); // 1
Elementos de API relacionados
+ concatenation | Operador |
|
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Concatena (combina) cadenas. Si una expresión es una cadena, todas las demás expresiones se convierten en cadenas y se concatenan.
Si ambas expresiones son números, este operador se comporta como un operador de suma.
Operandosexpression1:String —
Cadena que se va a concatenar.
| |
expression2:String —
Cadena que se va a concatenar.
|
String —
La cadena concatenada.
|
Ejemplo
Cómo utilizar este ejemplo
El siguiente ejemplo concatena dos cadenas.
var lastName:String = "Cola"; var instrument:String = "Drums"; trace(lastName + " plays " + instrument); // Cola plays Drums
trace("Number " + 8 + 0); // Number 80
var a:String = 3 + 10 + "asdf"; trace(a); // 13asdf var b:String = "asdf" + 3 + 10; trace(b); // asdf310
Elementos de API relacionados
+ concatenation (XMLList) | Operador |
expression1 + expression2 |
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Concatena (combina) valores XML o XMLList en un objeto XMLList. Se origina un objeto XMLList solo si ambos operandos son valores XML o XMLList.
Operandosexpression1:* —
Un valor XML o XMLList.
| |
expression2:* —
Un valor XML o XMLList.
|
XMLList —
El objeto XMLList concatenado.
|
Ejemplo
Cómo utilizar este ejemplo
El ejemplo siguiente muestra cómo usar el operador (de concatenación) XMLList (
+
):
var x1:XML = <employee id = "42"> <firstName>Joe</firstName> <lastName>Smith</lastName> </employee>; var x2:XML = <employee id = "43"> <firstName>Susan</firstName> <lastName>Jones</lastName> </employee>; var myXMLList:XMLList = x1 + x2; trace(myXMLList.toXMLString());
La sentencia trace
genera la salida siguiente.
<employee id = "42">
<firstName>Joe</firstName>
<lastName>Smith</lastName>
</employee>
<employee id = "43">
<firstName>Susan</firstName>
<lastName>Jones</lastName>
</employee>
Elementos de API relacionados
+= concatenation assignment | Operador |
|
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Asigna a expression1
el valor de expression1 + expression2
. Por ejemplo, las dos sentencias siguientes tienen el mismo resultado:
x += y; x = x + y;Todas las reglas del operador de concatenación (
+
) se aplican al operador de asignación de concatenación (+=
). Tenga en cuenta que el uso de la asignación de concatenación para la propiedad text
de TextField
(es decir, someTextField.text += moreText
es mucho menos eficaz que TextField.appendText()
, especialmente con un elemento TextField
que incluye una importante cantidad de contenido.
Operandosexpression1:String —
Una cadena.
| |
expression2:String —
Una cadena.
|
Number —
El resultado de la concatenación.
|
Ejemplo
Cómo utilizar este ejemplo
Este ejemplo utiliza el operador
+=
con una expresión de cadena:
var x1:String = "My name is "; x1 += "Gilbert"; trace(x1); // My name is Gilbert
Elementos de API relacionados
+= concatenation assignment (XMLList) | Operador |
expression1 += expression2 |
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Asigna a expression1
, que es un objeto XMLList, el valor de expression1 + expression2
. Por ejemplo, las dos sentencias siguientes tienen el mismo resultado:
x += y; x = x + y;Todas las reglas del operador de concatenación XMLList (
+
) se aplican al operador de asignación de concatenación XMLList (+=
) .
Operandosexpression1:XMLList —
El objeto XMLList al que va a añadir un nuevo valor.
| |
expression2:* —
Un valor XML o XMLList.
|
Ejemplo
Cómo utilizar este ejemplo
El ejemplo siguiente muestra cómo usar el operador de asignación de concatenación XMLList (
+=
):
var x1:XML = <location>Athens</location>; var x2:XML = <location>Paris</location>; myXMLList = x1 + x2; var x3:XML = <location>Springfield</location>; myXMLList += x3; trace(myXMLList.toXMLString());
La sentencia trace
genera la salida siguiente.
<location>Athens</location>
<location>Paris</location>
<location>Springfield</location>
Elementos de API relacionados
?: conditional | Operador |
expression1 ? expression2 : expression3 |
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Evalúa expression1
y, si el valor de expression1
es true
, el resultado es el valor de expression2
; en caso contrario, es el valor de expression3
.
expression1:Boolean —
Expresión que da como resultado un valor booleano; normalmente una expresión de comparación, como x < 5 .
| |
expression2:* —
Valor de cualquier tipo.
| |
expression3:* —
Valor de cualquier tipo.
|
* —
El valor de expression2 o de expression3 .
|
Ejemplo
Cómo utilizar este ejemplo
La sentencia siguiente asigna el valor de la variable
x
a la variable z
, ya que la primera expresión da como resultado true
:
var x:Number = 5; var y:Number = 10; var z = (x < 6) ? x: y; trace(z); // returns 5
var timecode:String = (new Date().getHours() < 11) ? "AM" : "PM"; trace(timecode);
if (new Date().getHours() < 11) { var timecode:String = "AM"; } else { var timecode:String = "PM"; } trace(timecode);
-- decrement | Operador |
--expression expression-- |
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Resta 1 del operando. El operando puede ser una variable, un elemento de un conjunto o una propiedad de un objeto. La forma de decremento previo del operador (--expression
) resta 1 de expression
y devuelve el resultado. La forma de decremento posterior del operador (expression--
) resta 1 de expression
y devuelve el valor inicial de expression
(el valor antes de la resta).
expression:Number —
Número o variable que da como resultado un número.
|
Number —
El resultado del valor reducido.
|
Ejemplo
Cómo utilizar este ejemplo
La forma de decremento previo del operador decrementa
x
hasta 2 (x
- 1 = 2
) y devuelve el resultado como y
:
var x:Number = 3; var y:Number = --x; // y is equal to 2
x
hasta 2 (x
- 1 = 2
) y devuelve el valor original de x
como el resultado y
:
var x:Number = 3; var y:Number = x--; // y is equal to 3
i
en 1:
for (var i = 10; i > 0; i--) { trace(i); }
delete | Operador |
delete reference |
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Destruye la propiedad de objeto especificada por reference
; el resultado es true
si la propiedad no existe al finalizar la operación; en caso contrario, el resultado es false
. El operador delete
devuelve true
si se le llama en una propiedad inexistente o en una propiedad dinámica no definida en una clase.
El operador delete
puede no ejecutarse correctamente y devolver false
si el parámetro reference
no puede eliminarse. No puede eliminar propiedades o variables fijas que se declaren con la sentencia var
. Una propiedad fija es una variable o un método definido en una definición de clase.
El operador delete
no se puede utilizar para destruir una propiedad de una clase, a no ser que dicha clase sea una clase dinámica añadida en tiempo de ejecución. Las propiedades de las clases cerradas no se pueden destruir mediante delete
. Defina la propiedad como null
en su lugar.
Nota: no se puede eliminar un objeto, pero se puede hacer que este sea apto para eliminación de datos innecesarios eliminando todas las referencias al objeto. La referencia más habitual a un objeto es una variable que lo señala. Puede crear una referencia estableciendo la variable como null
. El recolector de datos innecesarios elimina los objetos que no tengan referencias.
reference:* —
El nombre de la propiedad que se va a eliminar.
|
Boolean —
El valor true si la eliminación se realiza correctamente, y false en caso contrario.
|
Ejemplo
Cómo utilizar este ejemplo
El ejemplo siguiente elimina una propiedad de un objeto:
// create the new object "account" var account:Object = new Object(); // assign property name to the account account.name = "Jon"; // delete the property delete account.name; trace(account.name); // undefined // delete a nonexistent property var fooDeleted:Boolean = delete account.foo; trace(fooDeleted); // true
El siguiente ejemplo elimina el valor de un elemento de conjunto, pero el valor de la propiedad length
no cambia:
var my_array:Array = new Array(); my_array[0] = "abc"; // my_array.length == 1 my_array[1] = "def"; // my_array.length == 2 my_array[2] = "ghi"; // my_array.length == 3 // my_array[2] is deleted, but Array.length is not changed delete my_array[2]; trace(my_array.length); // 3 trace(my_array); // abc,def,
El ejemplo siguiente muestra cómo se puede utilizar el valor booleano de delete
como una condición para próximas ejecuciones de código. Tenga en cuenta que si un elemento ya se ha eliminado, volver a llamar a delete
en el elemento devolverá false
.
var my_array:Array = [ "abc", "def", "ghi" ]; var deleteWasSuccessful:Boolean deleteWasSuccessful = delete my_array[0]; if(deleteWasSuccessful) delete my_array[1]; deleteWasSuccessful = delete my_array[0]; if(deleteWasSuccessful) delete my_array[2]; trace(my_array) // outputs: undefined,undefined,ghi
Elementos de API relacionados
delete (XML) | Operador |
delete reference |
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Elimina los elementos o atributos XML especificados por reference
.
reference:XMLList —
Objeto XMLList que especifica los elementos o atributos XML que se van a eliminar.
|
Boolean —
Siempre devuelve un valor true . El resultado siempre es true porque el operando XMLList siempre hace referencia a un objeto XMLList válido (aunque posiblemente vacío).
|
Ejemplo
Cómo utilizar este ejemplo
En el ejemplo siguiente se muestra cómo eliminar un atributo, seguidamente, cómo eliminar un elemento individual y, seguidamente, cómo eliminar varios elementos:
var x1:XML = <x1> <a id = "52">AYY</a> <a>AYY 2 </a> <b>BEE</b> <c>CEE</c> </x1>; trace(x1.toXMLString()); trace("___________"); delete x1.a.@id; trace(x1.toXMLString()); trace("___________"); delete x1.b; trace(x1.toXMLString()); trace("___________"); delete x1.a; trace(x1.toXMLString());
La salida es la siguiente:
<x1>
<a id="52">AYY</a>
<a>AYY 2</a>
<b>BEE</b>
<c>CEE</c>
</x1>
___________
<x1>
<a>AYY</a>
<a>AYY 2</a>
<b>BEE</b>
<c>CEE</c>
</x1>
___________
<x1>
<a>AYY</a>
<a>AYY 2</a>
<c>CEE</c>
</x1>
___________
<x1>
<c>CEE</c>
</x1>
En el ejemplo siguiente se muestra cómo eliminar el contenido de un elemento, incluidos los atributos y elementos secundarios, sin eliminar el elemento en sí:
var xml:XML = <order> <item id="121">hamburger</item> <item id="122">fries</item> <item id="123">chocolate shake</item> </order>; delete xml.item[1].*; delete xml.item[1].@*; trace(xml);
La salida para este ejemplo es la siguiente:
<order>
<tem id="121">hamburger</item>
<item/>
<item id="123">chocolate shake</item>
</order>
.. descendant accessor | Operador |
myXML..childElement1..@attributeName |
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Navega hasta elementos descendientes de un objeto XML o XMLList, o bien (en combinación con el operador @) encuentra atributos coincidentes de los descendientes. Los elementos o atributos coincidentes tienen que ser elementos secundarios directos del objeto XML o XMLList; pueden estar situados en un lugar inferior del árbol (por ejemplo, elementos terciarios). El resultado es un objeto XMLList, ya que pueden coincidir más de un elemento secundario o atributo.
El orden de los nodos en el objeto XMLList devuelto es el resultado de una transversal de primer nivel de profundidad (depth-first traversal). Por ejemplo, observe lo siguiente:
var myXML:XML = <a> <b>one <c> <b>two</b> </c> </b> <b>three</b> </a>; trace(myXML..b[0].toXMLString()); trace("______________"); trace(myXML..b[1].toXMLString()); trace("______________"); trace(myXML..b[2].toXMLString());
Se produciría el siguiente resultado:
<b>
one
<c>
<b>two</b>
</c>
</b>
______________
<b>two</b>
______________
<b>three</b>
Para devolver descendientes con nombres que coincidan con palabras reservadas de ActionScript, utilice el método XML.descendants()
y no el operador descendant (..) , como se muestra en el ejemplo siguiente:
var xml:XML = <enrollees> <student id="239"> <class name="Algebra" /> <class name="Spanish 2"/> </student> <student id="206"> <class name="Trigonometry" /> <class name="Spanish 2" /> </student> </enrollees>; trace(xml.descendants("class"));
myXML:Object —
El objeto XML o XMLList.
| |
childElement1_or_attributeName —
Nombre de una propiedad XML o nombre de un atributo.
|
Ejemplo
Cómo utilizar este ejemplo
El ejemplo siguiente muestra cómo utilizar el descriptor de acceso a descendiente (..) para devolver elementos descendientes de un objeto XML y devolver un atributo de un elemento:
var myXML:XML = <employees> <employee id = "42"> <firstName>Billy</firstName> <lastName>Einstein</lastName> </employee> <employee id = "43"> <firstName>Sally</firstName> <lastName>Shostakovich</lastName> </employee> </employees> trace(myXML..firstName); // <firstName>Billy</firstName> // <firstName>Sally</firstName> trace(myXML..@id); //4243
Elementos de API relacionados
/ division | Operador |
|
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Divide expression1
por expression2
. El resultado de la operación de división es un número de coma flotante de doble precisión.
expression:Number —
Número o variable que da como resultado un número.
|
Number —
El resultado de coma flotante de la operación.
|
Ejemplo
Cómo utilizar este ejemplo
El siguiente ejemplo muestra que el resultado de dividir entre 0 varía si el dividendo es positivo, negativo o 0.
trace(3/0); // Infinity trace(-3/0); // -Infinity trace(0/0); // NaN
Elementos de API relacionados
/= division assignment | Operador |
|
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Asigna a expression1
el valor de expression1 / expression2
. Por ejemplo, las dos sentencias siguientes son equivalentes:
x /= y; x = x / y;Operandos
expression1:Number —
Número o variable que da como resultado un número.
| |
expression2:Number —
Número o variable que da como resultado un número.
|
Number —
Un número.
|
Ejemplo
Cómo utilizar este ejemplo
El código siguiente muestra el operador de asignación de división (
/=
) empleado con variables y números:
var a:Number = 10; var b:Number = 2; a /= b; trace(a); // 5
Elementos de API relacionados
. dot | Operador |
object.property_or_method |
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Accede a variables y métodos de clases, obtiene y establece propiedades de objetos y delimita paquetes o clases importados.
Operandosobject:Object —
Una instancia de una clase. El objeto puede ser una instancia de cualquiera de las clases de ActionScript incorporadas o una clase que usted defina. Este operando se ubica siempre a la izquierda del operador de punto (.).
| |
property_or_method:* —
Nombre de una propiedad o método asociado con un objeto. Todos los métodos y propiedades válidos para las clases incorporadas se enumeran en las tablas de resumen de método y propiedades de dicha clase. Este operando se ubica siempre a la derecha del operador de punto (.).
|
* —
La variable, el método o la propiedad que se menciona a la derecha del punto.
|
Ejemplo
Cómo utilizar este ejemplo
El siguiente ejemplo utiliza el operador de punto como delimitador cuando se importa la clase Timer.
import flash.utils.Timer;
var obj:Object = new Object(); obj.propertyA = "hello"; trace(obj.propertyA); // hello
Elementos de API relacionados
. dot (XML) | Operador |
myXML.childElement myXML.@attributeName |
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Navega hasta elementos secundarios de un objeto XML o XMLList, o bien (en combinación con el operador @) devuelve atributos de un objeto XML o XMLList. El objeto devuelto es XMLList, ya que pueden coincidir más de un elemento secundario o atributo.
Para devolver elementos con nombres que coincidan con palabras reservadas de ActionScript, utilice el método XML.elements()
o el método XML.descendants()
y no el punto XML (.) , como se muestra en el ejemplo siguiente:
var xml:XML = <student id="206"> <class name="Trigonometry" /> <class name="Spanish 2" /> </student>; trace(xml.elements("class")); trace(xml.descendants("class"));
myXML:Object —
El objeto XML o XMLList.
| |
childElement:* —
El nombre de una propiedad XML.
| |
attributeName:* —
El nombre de un atributo.
|
XMLList —
El objeto XMLList especificado.
|
Ejemplo
Cómo utilizar este ejemplo
El ejemplo siguiente muestra cómo utilizar el operador de punto (.) para devolver un elemento secundario de un objeto XML y devolver el atributo de un elemento:
var myXML:XML = <employee id = "42"> <firstName>Billy</firstName> <lastName>Einstein</lastName> </employee>; trace(myXML.firstName); // Billy trace(myXML.@id); // 42
Elementos de API relacionados
== equality | Operador |
|
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Comprueba la igualdad de dos expresiones. El resultado es true
si las expresiones son iguales.
Si los tipos de datos de los dos operandos coinciden, la definición de igual depende del tipo de datos de los operandos:
- Los valores de tipo int, uint, y Boolean se consideran iguales si tienen el mismo valor.
- Los números con valores coincidentes se consideran iguales, a no ser que ambos sean
NaN
. - Si el valor de ambos operandos es
null
oundefined
, se consideran iguales. - Las expresiones String son iguales si tienen el mismo número de caracteres y estos son idénticos.
- Para objetos XML:
- Si un operando es un nodo de texto o atributo y el otro tiene contenido sencillo, ambos operandos se convierten en cadenas con el método
toString()
y se consideran iguales si coinciden las cadenas resultantes. - En caso contrario, los objetos solo se considerarán iguales si coinciden el nombre completo, los atributos y las propiedades secundarias de ambos objetos.
- Si un operando es un nodo de texto o atributo y el otro tiene contenido sencillo, ambos operandos se convierten en cadenas con el método
- Los objetos XMLList se consideran iguales si tienen el mismo número de propiedades y coinciden tanto el orden como los valores de las propiedades.
- Para objetos Namespace, los valores se consideran iguales si coinciden las propiedades
uri
de ambos objetos. - En el caso de objetos QName, los valores se consideran iguales si coinciden las propiedades
uri
de ambos objetos, así como las propiedadeslocalName
. - Las variables que representan objetos, conjuntos y funciones se comparan por su referencia. Dos de estas variables son iguales si hacen referencia al mismo objeto, conjunto o función. Dos conjuntos independientes nunca se consideran iguales, aunque tengan el mismo número de elementos.
false
, salvo en las siguientes circunstancias:
- Los valores del operando son
undefined
ynull
, en cuyo caso el resultado estrue
. - La conversión automática de los tipos de datos convierte los tipos de datos de valores String, Boolean, int, uint y Number en tipos compatibles y los valores convertidos son iguales, en cuyo caso los operandos se consideran iguales.
- Un operando es de tipo XML con contenido sencillo (
hasSimpleContent() == true
), y después de que ambos operandos se conviertan en cadenas con el métodotoString()
, las cadenas resultantes coinciden. - Un operando es de tipo XMLList y se cumple alguna de las siguientes condiciones:
- La propiedad
length
del objeto XMLList es 0, y el otro objeto esundefined
. - La propiedad
length
del objeto XMLList es 1 y un elemento del objeto XMLList coincide con el otro operando.
- La propiedad
expression1:Object —
Un número, cadena, valor booleano, variable, objeto, conjunto o expresión.
| |
expression2:Object —
Un número, cadena, valor booleano, variable, objeto, conjunto o expresión.
|
Boolean —
Un valor de true si las expresiones son iguales; false en caso contrario.
|
Ejemplo
Cómo utilizar este ejemplo
El ejemplo siguiente utiliza el operador de igualdad (
==
) con una sentencia if
:
var a:String = "David" var b:String = "David"; if (a == b) { trace("David is David"); }
var a:Number = 5; var b:String = "5"; trace(a == b); // true
true
se convierte a 1 y false
a 0:
var c:Number = 1; var d:Boolean = true; trace(c == d); // true var e:Number = 0; var f:Boolean = false; trace(e == f); // true
false
:
var g:String = "true"; var h:Boolean = true; trace(g == h); // false
false
para estos dos conjuntos. Si bien los conjuntos parecen iguales, la comparación por referencia requiere que ambas firstArray
y secondArray
hagan referencia al mismo conjunto. El segundo ejemplo crea la variable thirdArray
, que señala al mismo conjunto que la variable firstArray
. El operador de igualdad devuelve true para estas dos matrices porque las dos variables hacen referencia al mismo conjunto.
var firstArray:Array = new Array("one", "two", "three"); var secondArray:Array = new Array("one", "two", "three"); trace(firstArray == secondArray); // false /* Arrays are only considered equal if the variables refer to the same array. */ var thirdArray:Array = firstArray; trace(firstArray == thirdArray); // true
Elementos de API relacionados
> greater than | Operador |
|
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Compara dos expresiones y determina si expression1
es mayor que expression2
; si lo es, el resultado es true
. Si expression1
es menor o igual que expression2
, el resultado es false
.
Si ambos operandos son de tipo String, los operandos se comparan utilizando el orden alfabético; todas las letras mayúsculas van delante de las letras minúsculas. En caso contrario, los operandos se convierten primero en números y luego se comparan.
Operandosexpression1:Object —
Una cadena, un entero o un número de coma flotante.
| |
expression2:Object —
Una cadena, un entero o un número de coma flotante.
|
Boolean —
Un valor true si expression1 es mayor que expression2 ; false en caso contrario.
|
Ejemplo
Cómo utilizar este ejemplo
El siguiente ejemplo muestra que las cadenas se comparan alfabéticamente, con las letras mayúsculas antes que las minúsculas:
var a:String = "first"; var b:String = "First"; trace(a > b); // true
var c:Number = 5; var d:String = "4"; trace(c > d); // true var e: Number = 2; var f:Boolean = true; trace(e > f); // true
>= greater than or equal to | Operador |
|
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Compara dos expresiones y determina si expression1
es mayor o igual que expression2
(true
) o si expression1
es menor que expression2
(false
).
expression1:Object —
Una cadena, un entero o un número de coma flotante.
| |
expression2:Object —
Una cadena, un entero o un número de coma flotante.
|
Boolean —
Un valor true si expression1 es mayor o igual que expression2 ; false en caso contrario.
|
Ejemplo
Cómo utilizar este ejemplo
En el ejemplo siguiente, el operador de mayor o igual que (>=) se emplea para determinar si la hora actual es mayor o igual que 12:
if (new Date().getHours() >= 12) { trace("good afternoon"); } else { trace("good morning"); }
Elementos de API relacionados
in | Operador |
|
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Evalúa si una propiedad forma parte de un objeto especificado. Para utilizar el operador in
, especifique un nombre de propiedad como primer operando y un objeto como segundo operando. Si el objeto especificado contiene esta propiedad, el resultado es true
; en caso contrario, el resultado es false
.
Si el objeto especificado es un objeto Array, puede utilizar el operador in
para comprobar si un determinado número de índice es válido. Si transfiere un entero como primer operando, el resultado es true
si el índice está dentro del rango válido de números de índice; en caso contrario, es false
.
Boolean —
Un valor true si expression1 es una propiedad del objeto representado por expression2 ; false en caso contrario.
|
Ejemplo
Cómo utilizar este ejemplo
El ejemplo siguiente utiliza el operador
in
para mostrar que PI
es una propiedad del objeto Math, pero que myProperty
no lo es.
trace("PI" in Math); // true trace("myProperty" in Math); // false
El ejemplo siguiente utiliza el operador in
para mostrar que los números 0, 1 y son números de índice válidos en el objeto myArray
, pero que el número 3 no lo es.
public var myArray:Array = ["zero", "one", "two"]; trace(0 in myArray); // true trace(1 in myArray); // true trace(2 in myArray); // true trace(3 in myArray); // false
Elementos de API relacionados
++ increment | Operador |
++expression expression++ |
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Suma 1 a una expresión. La expresión debe ser una variable, un elemento de un conjunto o una propiedad de un objeto. La forma de incremento previo del operador (++expression
) agrega 1 a expression
y devuelve el resultado. La forma de incremento posterior del operador (expression++
) añade 1 a expression
y devuelve el valor inicial de expression
(el valor antes de la suma).
expression:Number —
Número o variable que da como resultado un número.
|
Number —
El resultado del incremento.
|
Ejemplo
Cómo utilizar este ejemplo
El siguiente ejemplo utiliza un operador de incremento previo en un bucle
while
para indicar que el valor sumado al conjunto es el valor que se ha incrementado:
var preInc:Array = new Array(); var i:int = 0; while (i < 10) { preInc.push(++i); } trace(preInc); // 1,2,3,4,5,6,7,8,9,10
while
para indicar que el valor sumado al conjunto es el valor inicial:
var postInc:Array = new Array(); var i:int = 0; while (i < 10) { postInc.push(i++); } trace(postInc); // 0,1,2,3,4,5,6,7,8,9
while
se ejecute cinco veces:
var i:int = 0; while (i++ < 5) { trace("this is execution " + i); } /* output: this is execution 1 this is execution 2 this is execution 3 this is execution 4 this is execution 5 */
!= inequality | Operador |
|
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Prueba el contrario exacto del operador de igualdad (==
). Si expression1
es igual que expression2
, el resultado es false
. Como ocurre con el operador de igualdad (==
), la definición de igual depende de los tipos de datos que se comparan:
Si los tipos de datos de los dos operandos coinciden, la definición de igual depende del tipo de datos de los operandos:
- Los valores de tipo int, uint, y Boolean se consideran iguales si tienen el mismo valor.
- Los números con valores coincidentes se consideran iguales, a no ser que ambos sean
NaN
. - Si el valor de ambos operandos es
null
oundefined
, se consideran iguales. - Las expresiones String son iguales si tienen el mismo número de caracteres y estos son idénticos.
- Para objetos XML:
- Si un operando es un nodo de texto o atributo y el otro tiene contenido sencillo, ambos operandos se convierten en cadenas con el método
toString()
y se consideran iguales si coinciden las cadenas resultantes. - En caso contrario, los objetos solo se considerarán iguales si coinciden el nombre completo, los atributos y las propiedades secundarias de ambos objetos.
- Si un operando es un nodo de texto o atributo y el otro tiene contenido sencillo, ambos operandos se convierten en cadenas con el método
- Los objetos XMLList se consideran iguales si tienen el mismo número de propiedades y coinciden tanto el orden como los valores de las propiedades.
- Para objetos Namespace, los valores se consideran iguales si coinciden las propiedades
uri
de ambos objetos. - En el caso de objetos QName, los valores se consideran iguales si coinciden las propiedades
uri
de ambos objetos, así como las propiedadeslocalName
. - Las variables que representan objetos, conjuntos y funciones se comparan por su referencia. Dos de estas variables son iguales si hacen referencia al mismo objeto, conjunto o función. Dos conjuntos independientes nunca se consideran iguales, aunque tengan el mismo número de elementos.
!=
) devuelve true
), salvo en las siguientes circunstancias:
- Los valores del operando son
undefined
ynull
, en cuyo caso el resultado estrue
. - La conversión automática de los tipos de datos convierte los tipos de datos de valores String, Boolean, int, uint y Number en tipos compatibles y los valores convertidos son iguales, en cuyo caso los operandos se consideran iguales.
- Un operando es de tipo XML con contenido sencillo (
hasSimpleContent() == true
), y después de que ambos operandos se conviertan en cadenas con el métodotoString()
, las cadenas resultantes coinciden. - Un operando es de tipo XMLList y se cumple alguna de las siguientes condiciones:
- La propiedad
length
del objeto XMLList es 0, y el otro objeto esundefined
. - La propiedad
length
del objeto XMLList es 1 y un elemento del objeto XMLList coincide con el otro operando.
- La propiedad
expression1:Object —
Un número, cadena, valor booleano, variable, objeto, conjunto o función.
| |
expression2:Object —
Un número, cadena, valor booleano, variable, objeto, conjunto o función.
|
Boolean —
Un valor de true si las expresiones no son iguales y de false , en caso contrario.
|
Ejemplo
Cómo utilizar este ejemplo
El ejemplo siguiente ilustra el resultado del operador de desigualdad (
!=
):
trace(5 != 8); // true trace(5 != 5); // false
!=
) en una sentencia if
:
var a:String = "David"; var b:String = "Fool"; if (a != b) { trace("David is not a fool"); }
var a:Function = function() { trace("foo"); }; var b:Function = function() { trace("foo"); }; a(); // foo b(); // foo trace(a != b); // true a = b; a(); // foo b(); // foo trace(a != b); // false
var a:Array = [ 1, 2, 3 ]; var b:Array = [ 1, 2, 3 ]; trace(a); // 1,2,3 trace(b); // 1,2,3 trace(a != b); // true a = b; trace(a); // 1,2,3 trace(b); // 1,2,3 trace(a != b); // false
Elementos de API relacionados
instanceof | Operador |
|
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Evalúa si la cadena de prototipo de una expresión incluye el objeto prototipo para function
. El operador instanceof
se incluye para compatibilidad con versiones anteriores en ECMAScript Edition 3. Resulta útil para programadores avanzados que quieran utilizar herencia basada en prototipos con funciones de constructor en vez de clases.
Para comprobar si un objeto es miembro de un tipo de datos concreto, utilice el operador is
.
Cuando se utiliza con clases, el operador instanceof
es similar al operador is
, ya que la cadena de prototipo de una clase incluye todas sus superclases. No obtante, las interfaces no se incluyen en cadenas de prototipo, por lo que le operador instanceof
siempre da como resultado false
cuando se utiliza con interfaces, mientras que el operador is
da como resultado true
si un objeto pertenece a la clase que implementa la interfaz especificada.
Nota: el operador is
de ActionScript es equivalente al operador instanceof
de Java.
expression:Object —
El objeto que contiene la cadena de prototipo que se va a evaluar.
| |
function:Object —
Objeto de función (o clase).
|
Boolean —
Devuelve true si la cadena de prototipo de expression incluye el objeto prototype para function ; en caso contrario, devuelve false .
|
Ejemplo
Cómo utilizar este ejemplo
En el siguiente ejemplo se crea una instancia de la clase Sprite denominada
mySprite
y se utiliza el operador is
para comprobar si la cadena de prototipo mySprite
incluye los objetos prototype instancia de las clases Sprite y DisplayObject. El resultado es true
con las clases Sprite y DisplayObject, ya que los objetos prototype para Sprite y DisplayObject se encuentran en la cadena de prototipo de mySprite
.
var mySprite:Sprite = new Sprite(); trace(mySprite instanceof Sprite); // true trace(mySprite instanceof DisplayObject); // true
instanceof
no funciona con interfaces. El operador is
da como resultado true
porque la clase DisplayObject, que es una superclase de la clase Sprite, implementa la interfaz IBitmapDrawable.
var mySprite:Sprite = new Sprite(); trace(mySprite instanceof IBitmapDrawable); // false trace(mySprite is IBitmapDrawable); // true
Elementos de API relacionados
is | Operador |
|
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Evalúa si un objeto es compatible con un tipo de datos, una clase o una interfaz específicos. Utilice el operador is
en lugar de instanceof
para realizar comparaciones de tipos. También puede utilizar el operador is
para comprobar si un objeto implementa una interfaz.
Boolean —
Un valor de true si expression1 es compatible con el tipo de datos, la clase o la interfaz especificada en expression2 ; en caso contrario, da como resultado false .
|
Ejemplo
Cómo utilizar este ejemplo
En el siguiente ejemplo se crea una instancia de la clase Sprite denominada
mySprite
y se utiliza el operador is
para comprobar si mySprite
es una instancia de las clases Sprite y DisplayObject, y si implementa la interfaz IEventDispatcher.
import flash.display.*; import flash.events.IEventDispatcher; var mySprite:Sprite = new Sprite(); trace(mySprite is Sprite); // true trace(mySprite is DisplayObject); // true trace(mySprite is IEventDispatcher); // true
Elementos de API relacionados
< less than | Operador |
|
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Compara dos expresiones y determina si expression1
es menor que expression2
; si lo es, el resultado es true
. Si expression1
es mayor o igual que expression2
, el resultado es false
.
Si ambos operandos son de tipo String, los operandos se comparan utilizando el orden alfabético; todas las letras mayúsculas van delante de las letras minúsculas. En caso contrario, los operandos se convierten primero en números y luego se comparan.
Operandosexpression1:Object —
Una cadena, un entero o un número de coma flotante.
| |
expression2:Object —
Una cadena, un entero o un número de coma flotante.
|
Boolean —
Un valor true si expression1 es menor que expression2 ; false en caso contrario.
|
Ejemplo
Cómo utilizar este ejemplo
Los siguientes ejemplos muestran resultados
true
y false
para comparaciones tanto numéricas como de cadena:
trace(5 < 10); // true trace(2 < 2); // false trace(10 < 3); // false trace("Allen" < "Jack"); // true trace("Jack" < "Allen"); // false trace("11" < "3"); // true trace("11" < 3); // false (numeric comparison) trace("C" < "abc"); // true trace("A" < "a"); // true
<= less than or equal to | Operador |
|
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Compara dos expresiones y determina si expression1
es mayor o igual a expression2
; si lo es, el operador devuelve true
. Si expression1
es mayor que expression2
, el resultado es s false
.
Si ambos operandos son de tipo String, los operandos se comparan utilizando el orden alfabético; todas las letras mayúsculas van delante de las letras minúsculas. En caso contrario, los operandos se convierten primero en números y luego se comparan.
Operandosexpression1:Object —
Una cadena, un entero o un número de coma flotante.
| |
expression2:Object —
Una cadena, un entero o un número de coma flotante.
|
Boolean —
Un valor true si expression1 es menor o igual que expression2 ; false en caso contrario.
|
Ejemplo
Cómo utilizar este ejemplo
Los siguientes ejemplos muestran resultados
true
y false
para comparaciones tanto numéricas como de cadena:
trace(5 <= 10); // true trace(2 <= 2); // true trace(10 <= 3); // false trace("Allen" <= "Jack"); // true trace("Jack" <= "Allen"); // false trace("11" <= "3"); // true trace("11" <= 3); // false (numeric comparison) trace("C" <= "abc"); // true trace("A" <= "a"); // true
// line comment delimiter | Operador |
|
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Indica el principio de un comentario de script. Los caracteres que aparecen entre el delimitador de comentario (//
) y el carácter de final de línea se interpretan como un comentario y se omiten. Utilice este delimitador para comentarios de una sola línea; para comentarios de varias líneas sucesivas, use los delimitadores /*
and */
.
comment:* —
Cualquier carácter.
|
Ejemplo
Cómo utilizar este ejemplo
El siguiente ejemplo muestra un comentario de una sola línea:
// Any text following a line comment delimiter is ignored during compilation
Elementos de API relacionados
&& logical AND | Operador |
|
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Devuelve expression1
si es false
o se puede convertir a false
, y devuelve expression2
en caso contrario. Ejemplos de valores que se pueden convertir a false
: 0, NaN
, null
y undefined
. Si utiliza una llamada de función como expression2
, la función no se llama si expression1
da como resultado false
.
Si ambos operandos son de tipo Boolean, el resultado será true
solo si ambos operandos son true
, como puede verse en la siguiente tabla:
Expresión | Resultado |
---|---|
|
|
|
|
|
|
|
|
expression1:* —
Valor o expresión de cualquier tipo.
| |
expression2:* —
Valor o expresión de cualquier tipo.
|
* —
Un valor booleano si ambos operandos son de tipo Boolean. En caso contrario, el resultado es el valor de cada expresión.
|
Ejemplo
Cómo utilizar este ejemplo
El ejemplo siguiente utiliza el operador AND lógico (
&&
) para realizar una prueba para determinar si un jugador ha ganado la partida. La variable turns
y la variable score
se actualizan cuando un jugador juega o gana puntos durante el juego. El script da como resultado "You Win the Game!" cuando la puntuación del jugador llega a 75 o más en tres jugadas o menos.
var turns:Number = 2; var score:Number = 77; if ((turns <= 3) && (score >= 75)) { trace("You Win the Game!"); } else { trace("Try Again!"); }
Elementos de API relacionados
&&= logical AND assignment | Operador |
|
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Asigna a expression1
el valor de expression1 && expression2
. Por ejemplo, las dos sentencias siguientes son equivalentes:
x &&= y; x = x && y;Operandos
expression1:* —
Valor de cualquier tipo.
| |
expression2:* —
Valor de cualquier tipo.
|
* —
Un valor booleano si ambos operandos son miembros del de tipo de datos Boolean. En caso contrario, el resultado será el valor de cada expresión.
|
Ejemplo
Cómo utilizar este ejemplo
El siguiente ejemplo cambia la variable
myVar
por una etiqueta XML, a no ser que myVar
sea null. El ejemplo modifica la variable myVar
siempre y cuando la variable no de como resultado false
. Esta técnica aprovecha la ventaja del hecho de que el operador lógico AND (&&
) devuelve el valor de expression1
si expression1
da como resultado false
de lo contrario, devuelve el valor de expression2
. Si myVar
ya contiene un valor que da como resultado true
, se modifica myVar
para parecerse a una etiqueta XML. Sin embargo, si myVar
contiene un valor que da como resultado false
, como los valores null
, ""
(cadena vacía) y undefined
, myVar
permanece intalterable.
var myVar:String = 'tag'; myVar &&= "<" + myVar + "/>"; trace (myVar); // output: <tag/>
if
, como se muestra en el ejemplo siguiente:
var myVar:String = 'tag'; if (myVar != '') { myVar = "<" + myVar + "/>"; } trace (myVar); // output: <tag/>
if
es que el código resulta más fácil de leer, mientras que la ventaja de usar los operadores de asignación AND lógicos (&&=
) es que no necesita especificar el valor exacto predeterminado de un tipo de datos determinado.
Elementos de API relacionados
! logical NOT | Operador |
|
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Invierte el valor booleano de una variable o expresión. Si expression
es una variable con valor true
absoluto o convertido, el valor de !expression
es false
. Si la expresión x && y
da como resultado false
, la expresión !(x && y)
da como resultado true
.
Las siguientes expresiones ilustran el resultado del uso del operador NOT lógico (!):
!true
devuelvefalse
.!false
devuelvetrue
.
expression:Boolean —
Expresión o variable que da como resultado un valor booleano.
|
Boolean —
El resultado booleano de la operación lógica.
|
Ejemplo
Cómo utilizar este ejemplo
En el ejemplo siguiente, la variable
happy
se establece como false
. La condición if
da como resultado la condición !happy
, y si la condición es true
, la sentencia trace()
da como resultado una cadena.
var happy:Boolean = false; if (!happy) { trace("don't worry, be happy"); // don't worry, be happy }
trace
se ejecuta porque !false
es igual a true
.
Elementos de API relacionados
|| logical OR | Operador |
|
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Devuelve expression1
si es true
o se puede convertir a true
y devuelve expression2
en caso contrario. Si utiliza una llamada de función como expression2
, no se llamará a la función si expression1
da como resultado true
.
Si ambos operandos son de tipo Boolean, el resultado será true
si una o ambas expresiones son true
; el resultado será false
solo si ambas expresiones son false
como se muestra en la tabla siguiente:
Expresión | Resultado |
---|---|
|
|
|
|
|
|
|
|
expression1:* —
Valor de cualquier tipo.
| |
expression2:* —
Valor de cualquier tipo.
|
* —
Un valor booleano si ambos operandos son miembros del de tipo de datos Boolean. En caso contrario, el resultado será el valor de cada expresión.
|
Ejemplo
Cómo utilizar este ejemplo
El ejemplo siguiente utiliza el operador lógico OR (
||
) en una sentencia if
. La segunda expresión da como resultado true
, por lo que el resultado final es true
:
var a:Number = 10; var b:Number = 250; var start:Boolean = false; if ((a > 25) || (b > 200) || (start)) { trace("the logical OR test passed"); // the logical OR test passed }
if
se cumple (b > 200
).
El ejemplo siguiente demuestra cómo el uso de una llamada de función como segundo operando puede producir resultados imprevistos. Si la expresión de la izquierda del operador da como resultado true
, ese resultado se devolverá sin evaluar la expresión de la derecha (no se llamará a la función fx2()
).
function fx1():Boolean { trace("fx1 called"); return true; } function fx2():Boolean { trace("fx2 called"); return true; } if (fx1() || fx2()) { trace("IF statement entered"); }
Elementos de API relacionados
||= logical OR assignment | Operador |
|
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Asigna a expression1
el valor de expression1 || expression2
. Por ejemplo, las dos sentencias siguientes son equivalentes:
x ||= y; x = x || y;Operandos
expression1:* —
Valor de cualquier tipo.
| |
expression2:* —
Valor de cualquier tipo.
|
* —
Un valor booleano si ambos operandos son miembros del de tipo de datos Boolean. En caso contrario, el resultado será el valor de cada expresión.
|
Ejemplo
Cómo utilizar este ejemplo
El ejemplo siguiente asigna un valor predeterminado a una variable declarada anteriormente llamada
myVar
. Esta técnica aprovecha la ventaja del hecho de que el operador lógico OR (||
) devuelve el valor de expression1
si expression1
da como resultado true
de lo contrario, devuelve el valor de expression2
. Si myVar
ya contiene un valor que da como resultado true
, se modifica myVar
para parecerse a una etiqueta XML. Sin embargo, si myVar
contiene un valor que da como resultado false
, como los valores null
, ""
(cadena vacía) y undefined
entre otros, a myVar
se le asigna el valor "default"
.
myVar ||= "default";
Elementos de API relacionados
% modulo | Operador |
|
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Calcula el resto de expression1
dividido por expression2
. Si uno de los operandos es no numérico, el operador de módulo (%
) intenta convertirlo en un número.
El signo del resultado del módulo coincide con el signo del dividendo (el primer número). Por ejemplo, -4 % 3
y -4 % -3
ambos devuelven -1
.
expression1:Number —
Número o expresión que da como resultado un número. Una cadena que solo contiene caracteres numéricos da como resultado un número.
| |
expression2:Number —
Número o expresión que da como resultado un número. Una cadena que solo contiene caracteres numéricos da como resultado un número.
|
Number —
El resultado de la operación aritmética.
|
Ejemplo
Cómo utilizar este ejemplo
El siguiente ejemplo numérico utiliza el operador de módulo (
%
):
trace(12 % 5); // 2 trace(4.3 % 2.1); // 0.0999999999999996 trace(4 % 4); // 0
%
) solo devuelve el resto. El segundo trace devuelve 0,0999999999999996 en lugar del previsto 0,1 debido a las limitaciones en la precisión de coma flotante del cálculo binario.
Elementos de API relacionados
%= modulo assignment | Operador |
|
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Asigna a expression1
el valor de expression1 % expression2
. Las dos sentencias siguientes son equivalentes:
x %= y; x = x % y;Operandos
expression1:Number —
Número o expresión que da como resultado un número.
| |
expression2:Number —
Número o expresión que da como resultado un número.
|
Number —
El resultado de la operación aritmética.
|
Ejemplo
Cómo utilizar este ejemplo
El ejemplo siguiente asigna el valor 4 a la variable
a
:
var a:Number = 14; var b:Number = 5; a %= b; trace(a); // 4
Elementos de API relacionados
* multiplication | Operador |
|
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Multiplica dos expresiones numéricas. Si ambas expresiones son enteros, el producto es un entero. Si una o ambas expresiones son números de coma flotante, el producto es un número de coma flotante.
Operandosexpression1:Number —
Número o expresión que da como resultado un número.
| |
expression2:Number —
Número o expresión que da como resultado un número.
|
Number —
Entero o número de coma flotante.
|
Ejemplo
Cómo utilizar este ejemplo
La sentencia siguiente multiplica los enteros 2 y 3 y da como resultado el entero 6:
trace(2*3); // 6
trace(2.0 * 3.1416); // 6.2832
*= multiplication assignment | Operador |
|
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Asigna a expression1
el valor de expression1 * expression2
. Por ejemplo, las dos expresiones siguientes son equivalentes:
x *= y x = x * yOperandos
expression1:Number —
Número o expresión que da como resultado un número.
| |
expression2:Number —
Número o expresión que da como resultado un número.
|
Number —
El valor de expression1 * expression2 . Si una expresión no se puede convertir en un valor numérico, devuelve NaN (no es un número).
|
Ejemplo
Cómo utilizar este ejemplo
El ejemplo siguiente asigna el valor 50 a la variable
a
:
var a:Number = 5; var b:Number = 10; trace(a *= b); // 50
c
y d
:
var i:Number = 5; var c:Number = 4 - 6; var d:Number = i + 2; trace(c *= d); // -14
Elementos de API relacionados
:: name qualifier | Operador |
namespace::property namespace::method() namespace::xmlObject.property namespace::xmlObject.@attribute |
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Identifica el espacio de nombres de una propiedad, un método, una propiedad XML o un atributo XML.
Operandosnamespace:Object —
El espacio de nombres identificador.
| |
propertyName:Object —
La propiedad, el método, la propiedad XML o el atributo XML que se va a identificar.
|
Ejemplo
Cómo utilizar este ejemplo
El ejemplo siguiente utiliza el operador
::
para identificar dos métodos que tienen el mismo nombre en dos espacios de nombre diferentes:
public class NamespaceExample extends Sprite { public namespace French; public namespace Hawaiian; public function NamespaceExample() { trace(Hawaiian::hello()); // aloha trace(French::hello()); // bonjour } Hawaiian function hello():String { return "aloha"; } French function hello():String { return "bonjour"; } }
::
para identificar propiedades XML con espacios de nombre específicos:
var soap:Namespace = new Namespace("http://schemas.xmlsoap.org/wsdl/soap/"); var w:Namespace = new Namespace("http://weather.example.org/forecast"); var myXML:XML = <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"> <soap:Body> <w:forecast xmlns:w="http://weather.example.org/forecast"> <w:city>Quito</w:city> <w:country>Ecuador</w:country> <date>2006-01-14</date> </w:forecast> </soap:Body> </soap:Envelope>; trace(myXML.soap::Body.w::forecast.w::city); // Quito
Elementos de API relacionados
new | Operador |
|
Versiones de motor de ejecución: | Flash Player 5 |
Crea una instancia de clase. El operador new
puede utilizarse con una clase o una variable de tipo Class para crear una instancia de una clase. El operador new
suele utilizarse con un objeto de clase para crear la instancia de una clase. Por ejemplo, la sentencia new Sprite()
crea una instancia de la clase Sprite.
El operador new
también puede utilizarse para asociar una clase con un activo incorporado, que es un objeto externo, como una imagen, un sonido o una fuente compilada en un archivo SWF. Cada activo incorporado se representa mediante una clase de activo incorporado. Para obtener acceso a un activo incorporado, debe utilizar el operador new
para crear una instancia de su clase asociada. Posteriormente, puede llamar a los métodos y las propiedades adecuados de la clase del activo incorporado para manipularlo.
Si prefiere definir clases con objetos Function en lugar de la palabra clave class
, puede utilizar el operador new
para crear objetos basados en funciones constructoras. No debe confundir las funciones constructoras con los métodos constructores de una clase. Una función constructora es un objeto Function que se define con la palabra clave function
, pero que no forma parte de una definición de clase. Si utiliza funciones constructoras para crear objetos, deberá utilizar la herencia de prototipo en lugar de la herencia de clase.
constructor:* —
Clase, función o variable que contiene un valor de tipo Class.
| |
parameters:* —
Uno o varios parámetros separados por comas.
|
Ejemplo
Cómo utilizar este ejemplo
El siguiente ejempo crea la clase
Book
y utiliza el operador new
para crear los objetos book1
y book2
.
class Book { var bName:String; var bPrice:Number; public function Book(nameParam:String, priceParam:Number){ bName = nameParam; bPrice = priceParam; } } var book1:Book = new Book("Confederacy of Dunces", 19.95); var book2:Book = new Book("The Floating Opera", 10.95); trace(book1); // [object Book]
new
para crear una instancia de la clase Array con 18 elementos:
var golfCourse:Array = new Array(18);
Elementos de API relacionados
{} object initializer | Operador |
object = {name1 : value1, name2 : value2,... nameN : valueN} |
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Crea un nuevo objeto y lo inicializa con los pares de propiedades especificadas name
y value
. Utilizar este operador equivale a utilizar la nueva sintaxis de newObject
y llenar los pares de propiedades con el operador de asignación. El prototipo del objeto recién creado se denomina de forma genérica el objeto Object.
Este operador se utiliza además para marcar bloques de código contiguo asociado con sentencias de control de flujo (for
, while
, if
, else
, switch
) y funciones.
object:Object —
El objeto que se va a crear.
| |
name1,2,...N:Object —
Los nombres de las propiedades.
| |
value1,2,...N:Object —
Los valores correspondientes para cada una de las propiedades name .
|
Object —
un objeto Object.
|
Ejemplo
Cómo utilizar este ejemplo
La primera línea del código siguiente crea un objeto vacío utilizando el operador de inicializador de objeto ({}); la segunda línea crea un objeto nuevo empleando una función constructora:
var object:Object = {}; var object:Object = new Object();
account
e inicializa las propiedades name
, address
, city
, state
, zip
y balance
con los valores que acompañan:
var account:Object = {name:"Adobe Systems, Inc.", address:"601 Townsend Street", city:"San Francisco", state:"California", zip:"94103", balance:"1000"}; for (i in account) { trace("account."+i+" = "+account[i]); }
var person:Object = {name:"Gina Vechio", children:["Ruby", "Chickie", "Puppa"]};
var person:Object = new Object(); person.name = "Gina Vechio"; person.children = new Array(); person.children[0] = "Ruby"; person.children[1] = "Chickie"; person.children[2] = "Puppa";
Elementos de API relacionados
() parentheses | Operador |
(expression1[, expression2]) (expression1, expression2) function(parameter1,..., parameterN) |
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Ejecuta una operación de agrupación en uno o varios parámetros, lleva a cabo una evaluación secuencial de las expresiones o rodea uno o varios parámetros y los pasa como argumentos a una función que precede al paréntesis.
Sintaxis 1: controla el orden de ejecución de los operadores. Los paréntesis sustituyen el orden de precedencia normal y pueden hacer que las expresiones entre paréntesis se evalúen primero. Cuando se anidan los paréntesis, el contenido de los paréntesis más interiores se evalúa antes que el contenido de los más exteriores.
Sintaxis 2: da como resultado una serie de expresiones, separadas por comas, en una secuencia y devuelve el resultado de la expresión final.
Sintaxis 3: rodea uno o varios parámetros y los pasa a la función que precede al paréntesis.
Operandosexpression1:Object —
Expresión que puede incluir números, cadenas, variables o texto.
| |
expression2:Object —
Expresión que puede incluir números, cadenas, variables o texto.
| |
function:Function —
Función que se ejecutará sobre el contenido del paréntesis.
| |
parameter1...parameterN:Object —
Una serie de parámetros que se ejecutará antes de que se pasen los resultados como argumentos a la función que está fuera del paréntesis.
|
Ejemplo
Cómo utilizar este ejemplo
Sintaxis 1: las sentencias siguientes muestran el uso de los paréntesis para controlar el orden de ejecución de las expresiones:
trace((2 + 3) * (4 + 5)); // 45 trace(2 + (3 * (4 + 5))); // 29 trace(2 + (3 * 4) + 5); // 19 trace(2 + (3 * 4) + 5); // 19
foo()
y, a continuación, la función bar()
, y devuelve el resultado de la expresión a + b
:
var a:Number = 1; var b:Number = 2; function foo() { a += b; } function bar() { b *= 10; } trace((foo(), bar(), a + b)); // 23
var today:Date = new Date(); trace(today.getFullYear()); // outputs current year function traceParameter(param):void { trace(param); } traceParameter(2 * 2); // 4
Elementos de API relacionados
( ) parentheses (XML) | Operador |
myXML.(expression) |
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Evalúa una expresión en una construcción XML ECMAScript para XML (E4X). Por ejemplo, myXML.(lastName == "Smith")
identifica elementos XML con el nombre lastName
y el valor "Smith"
. El resultado es un objeto XMLList.
myXML:* —
Un objeto XML o XMLList.
| |
expression:* —
Expresión que define los elementos coincidentes.
|
XMLList —
La XMLList especificada por el paréntesis.
|
Ejemplo
Cómo utilizar este ejemplo
El ejemplo siguiente muestra cómo se utilizan los paréntesis para identificar elementos y atributos:
var myXML:XML = <employees> <employee id = "42"> <firstName>Joe</firstName> <lastName>Smith</lastName> </employee> <employee id = "43"> <firstName>Susan</firstName> <lastName>Jones</lastName> </employee> <employee id = "44"> <firstName>Anne</firstName> <lastName>Smith</lastName> </employee> </employees>; trace(myXML.employee.(lastName == "Smith").@id.toXMLString()); // 42 // 44 trace(myXML.employee.(Number(@id) > 42).@id.toXMLString()); // 43 // 44
Elementos de API relacionados
/ RegExp delimiter | Operador |
/pattern/flags |
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Si se utiliza antes y después de caracteres, indica que los caracteres tienen un valor literal y se consideran una expresión regular (RegExp), no una variable, una cadena u otro elemento de ActionScript. Tenga en cuenta, no obstante, que dos caracteres de barra diagonal seguidos (//
) indican el comienzo de un comentario.
pattern:String —
Secuencia de uno o varios caracteres que definen el patrón de la expresión regular.
| |
flags:String —
Una secuencia de cero o más de los siguientes caracteres: g (para el indicador global ), i (para el indicador ignoreCase ), s (para el indicador dotall ) y x (para el indicador extended ).
|
Ejemplo
Cómo utilizar este ejemplo
El siguiente ejemplo utiliza caracteres de barra diagonal (/) para establecer el valor de una variable de tipo RegExp (el indicador
i
está definido, para omitir la distinción entre mayúsculas y minúsculas al establecer correspondencias):
var myRegExp:RegExp = /foo-\d+/i; trace(myRegExp.exec("ABC Foo-32 def.")); // Foo-32
Elementos de API relacionados
=== strict equality | Operador |
|
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Comprueba la igualdad de dos expresiones, pero no realiza la conversión automática de los datos. El resultado es true
si ambas expresiones, incluidos sus tipos de datos, son iguales.
El operador de igualdad estricta (===
) es igual que el operador de igualdad (==
) en tres aspectos:
- Los valores Number y Boolean se comparan por su valor y se consideran iguales si tienen el mismo valor.
- Las expresiones String son iguales si tienen el mismo número de caracteres y estos son idénticos.
- Las variables que representan objetos, conjuntos y funciones se comparan por su referencia. Dos de estas variables son iguales si hacen referencia al mismo objeto, conjunto o función. Dos conjuntos independientes nunca se consideran iguales, aunque tengan el mismo número de elementos.
===
) difiere del operador de igualdad (==
) solo en dos aspectos:
- El operador de igualdad estricta realiza conversión automática de datos solo para tipos numéricos (Number, int y uint), mientras que el operador de igualdad realiza conversión automática de datos para todos los tipos de datos primitivos.
- Cuando se compara
null
yundefined
, el operador de igualdad estricta devuelvefalse
.
var x:Number = 1
) con objetos simples (por ejemplo, var x:Number = new Number(1)
). Ello se debe a que ActionScript 3.0 elimina la distinción entre valores simples y objetos envolventes simples.
En primer lugar, las comparaciones entre valores simples y objetos simples que contienen el mismo valor devuelven true
en ActionScript 3.0, mientras que en versiones anteriores devuelven false
. En versiones anteriores, el tipo de datos de un valor simple es Boolean o Number o String, mientras que el tipo de datos de un objeto simple es siempre Object y no Boolean, Number o String. Esta diferencia, a efectos prácticos, origina que el siguiente código devuelva false
en la versiones anteriores de ActionScript porque los tipos de datos de los operandos no coinciden, mientras que el resultado es true
en ActionScript 3.0 debido a que el tipo de datos de los valores simples es Boolean, Number, int, uint o String, independientemente de si están o no dentro de un objeto envolvente.
var num1:Number = 1; var num2:Number = new Number(1); trace(num1 === num2); // true in ActionScript 3.0, false in ActionScript 2.0
true
en ActionScript 3.0, mientras que en versiones anteriores devuelven false
.
var num1:Number = new Number(1); var num2:Number = new Number(1); trace(num1 == num2); // true in ActionScript 3.0, false in ActionScript 2.0 trace(num1 === num2); // true in ActionScript 3.0, false in ActionScript 2.0
false
tanto para la operación de igualdad como para la operación de igualdad estricta. Sin embargo, en ActionScript 3.0, ambas variables pertenecen al tipo de datos Number, por lo que se comparan por valor y el resultado es true
, tanto para el operador de igualdad como para el operador de igualdad estricta.
Operandosexpression1:Object —
Un número, cadena, valor booleano, variable, objeto, conjunto o función.
| |
expression2:Object —
Un número, cadena, valor booleano, variable, objeto, conjunto o función.
|
Boolean —
El resultado booleano de la comparación.
|
Ejemplo
Cómo utilizar este ejemplo
El siguiente ejemplo muestra que la igualdad estricta (
===
) es lo mismo que la igualdad (==
) cuando coinciden el valor y los tipos de datos:
var string1:String = "5"; var string2:String = "5"; trace(string1 == string2); // true trace(string1 === string2); // true
==
) sí lo hace:
// The equality (==) operator converts 5 to "5", but the strict equality operator does not var string1:String = "5"; var num:Number = 5; trace(string1 == num); // true trace(string1 === num); // false
var num:Number = 1; var bool:Boolean = true; trace(num == bool); // true trace(num === bool); // false
var num1:Number = 1; var num2:int = 1; var num3:uint = 1; trace(num1 === num2); // true trace(num1 === num3); // true
null
y undefined
como diferentes, mientras que el operador de igualdad los considera iguales:
trace(null == undefined); // true trace(null === undefined); // false
Elementos de API relacionados
!== strict inequality | Operador |
|
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Prueba el contrario exacto del operador de igualdad estricta (===
). El operador de desigualdad estricta realiza lo mismo que el operador de desigualdad, con la diferencia de que solo se convierten los tipos de datos int y uint.
Si expression1
es igual que expression2
, y sus tipos de datos son iguales, el resultado es false
.
El operador de desigualdad estricta (!==
) se asemeja al del operador de desigualdad (!=
) en tres aspectos:
- Los valores Number y Boolean se comparan por su valor y se consideran iguales si tienen el mismo valor.
- Las expresiones String son iguales si tienen el mismo número de caracteres y estos son idénticos.
- Las variables que representan objetos, conjuntos y funciones se comparan por su referencia. Dos de estas variables son iguales si hacen referencia al mismo objeto, conjunto o función. Dos conjuntos independientes nunca se consideran iguales, aunque tengan el mismo número de elementos.
!=
) solo en dos aspectos:
- El operador de desigualdad estricta (
!==
) lleva a cabo la conversión automática de los datos solo para los tipos númericos Number, int y uint, mientras que el operador de desigualdad (!=
) realiza la conversión automática de datos para todos los tipos de datos simples. - Cuando se comparan
null
yundefined
, el operador de desigualdad estricta (!==
) devuelvetrue
.
expression1:Object —
Un número, cadena, valor booleano, variable, objeto, conjunto o función.
| |
expression2:Object —
Un número, cadena, valor booleano, variable, objeto, conjunto o función.
|
Boolean —
El resultado booleano de la comparación.
|
Ejemplo
Cómo utilizar este ejemplo
Los comentarios del código siguiente muestran el valor devuelto de operaciones que utilizan los operadores de igualdad (
==
), igualdad estricta (===
) y desigualdad estricta (!==
):
var s1:String = "5"; var s2:String = "5"; var s3:String = "Hello"; var n:Number = 5; var b:Boolean = true; trace(s1 == s2); // true trace(s1 == s3); // false trace(s1 == n); // true trace(s1 == b); // false trace(s1 === s2); // true trace(s1 === s3); // false trace(s1 === n); // false trace(s1 === b); // false trace(s1 !== s2); // false trace(s1 !== s3); // true trace(s1 !== n); // true trace(s1 !== b); // true
Elementos de API relacionados
" string delimiter | Operador |
"text" |
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Si se utiliza antes y después de caracteres, indica que los caracteres tienen un valor literal y se consideran una cadena y no una variable, un valor numérico u otro elemento de ActionScript.
Operandostext:String —
Secuencia de cero o más caracteres.
|
Ejemplo
Cómo utilizar este ejemplo
El ejemplo siguiente utiliza comillas (") para indicar que el valor de la variable
yourGuess
es la cadena literal "Prince Edward Island"
y no el nombre de una variable.
var yourGuess:String = "Prince Edward Island"; submit_btn.onRelease = function() { trace(yourGuess); }; // Prince Edward Island
Elementos de API relacionados
- subtraction | Operador |
|
Versiones de motor de ejecución: | Flash Player 9 |
Se emplea para negar o restar.
Sintaxis 1: si se utiliza para negar, el operador invierte el signo de una expresión numérica.
Sintaxis 2: Si se utiliza para restar, el operador ejecuta una resta aritmética en dos expresiones numéricas, restando expression2
de expression1
. Si ambas expresiones son enteros, la diferencia es un entero. Si una o ambas expresiones son números de coma flotante, la diferencia es un número de coma flotante.
expression1:Number —
Número o expresión que da como resultado un número.
| |
expression2:Number —
Número o expresión que da como resultado un número.
|
Number —
Entero o número de coma flotante.
|
Ejemplo
Cómo utilizar este ejemplo
Sintaxis 1: la sentencia siguiente invierte el signo de la expresión 2 + 3:
trace(-(2 + 3)); // -5
trace(5 - 2); // 3
La sentencia siguiente resta el número de coma flotante 1,5 del número de coma flotante 3,25:
trace(3.25 - 1.5); // 1.75
-= subtraction assignment | Operador |
|
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Asigna a expression1
el valor de expression1 - expression2
. Por ejemplo, las dos sentencias siguientes son equivalentes:
x -= y ; x = x - y;
Las expresiones de cadenas deben convertirse a números; en caso contrario, el resultado es NaN
(que no es número).
expression1:Number —
Número o expresión que da como resultado un número.
| |
expression2:Number —
Número o expresión que da como resultado un número.
|
Number —
El resultado de la operación aritmética.
|
Ejemplo
Cómo utilizar este ejemplo
El ejemplo siguiente utiliza el operador de asignación de resta (
-=
) para restar 10 de 5 y asigna el resultado a la variable x
:
var x:Number = 5; var y:Number = 10; x -= y; trace(x); // -5
var x:String = "5"; var y:String = "10"; x -= y; trace(x); // -5
Elementos de API relacionados
: type | Operador |
[modifiers] var variableName:type function functionName():type { ... } function functionName(parameter1:type, ..., parameterN:type) [:type]{ ... } |
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Se utiliza para asignar un tipo de datos; este operador especifica el tipo de variable, el tipo de devolución de función o el tipo de parámetro de función. Cuando se utiliza en una asignación o declaración de variable, este operador especifica el tipo de la variable; cuando se utiliza en una declaración o definición de función, este operador especifica el tipo de devolución de la función; cuando se utiliza con un parámetro de función en una definición de función, este operador especifica el tipo de variable que se espera para dicho parámetro.
La comprobación de tipos siempre tiene lugar en tiempo de ejecución. Sin embargo, cuando el compilador se establece en modo estricto, todos los tipos se comprueban durante la compilación y se generan errores cuando hay una discordancia. Pueden producirse discordancias durante las operaciones de asignación, llamadas a funciones y eliminación de referencias a miembros de clase con el operador de punto (.
).
Los tipos que pueden utilizarse son todos los tipos de objetos nativos, clases e interfaces definidas y void
. Los tipos nativos reconocidos son Boolean, Number, int, uint y String. También se admiten como tipos nativos todas las clases incorporadas.
Si no asigna un tipo de datos, se considerará que la variable, el valor de devolución de la función o el parámetro de la función no tienen tipo asignado, lo que significa que el valor puede tener cualquier tipo de datos. Si quiere dejar clara su intención de usar un valor sin tipo, puede recurrir al carácter asterisco (*) como anotación de tipo. Cuando se utiliza como anotación de tipo, el carácter de asterisco equivale a dejar una variable, un tipo de devolución de función o un parámetro de función sin tipo asignado.
OperandosvariableName:* —
Identificador de una variable.
| |
type:* —
Tipo de datos nativo, nombre de clase definido o nombre de interfaz.
| |
functionName:Function —
Identificador de una función.
| |
parameter:* —
Identificador de un parámetro de función.
|
Ejemplo
Cómo utilizar este ejemplo
Sintaxis 1: El ejemplo siguiente declara una variable pública llamada
userName
cuyo tipo es String y le asigna una cadena vacía:
var userName:String = "";
randomInt()
que especifica su tipo de devolución como int:
function randomInt(integer:int):int { return Math.round(Math.random()*integer); } trace(randomInt(8));
squareRoot()
que toma un parámetro llamado val
de tipo Number y devuelve la raíz cuadrada de val
, también de tipo Number:
function squareRoot(val:Number):Number { return Math.sqrt(val); } trace(squareRoot(121));
Elementos de API relacionados
typeof | Operador |
|
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Evalúa expression
y devuelve una cadena que especifica el tipo de datos de la expresión. El resultado se limita a seis posibles valores de cadena: boolean
, function
, number
, object
, string
y xml
. Si aplica este operador a una instancia de una clase definida por el usuario, el resultado será la cadena object
. El operador typeof
se incluye para lograr compatibilidad retroactiva. Utilice el operador is
para comprobar la compatibilidad de tipos.
expression:Object —
Objeto que se va a evaluar.
|
String —
Una representación de cadena del tipo de expression . La tabla siguiente muestra los resultados del operador typeof en cada tipo de expresión.
|
Ejemplo
Cómo utilizar este ejemplo
El ejemplo siguiente muestra el resultado de utilizar
typeof
en diversos objetos y valores:
trace(typeof Array); // object trace(typeof Date); // object trace(typeof 3); // number
new
para crear un objeto. Esto ha cambiado con respecto a versiones anteriores de ActionScript, en las que el operador typeof
devuelve object
para la variable b
:
var a:String = "sample"; var b:String = new String("sample"); trace(typeof a); // string trace(typeof b); // string
Elementos de API relacionados
void | Operador |
|
Versiones de motor de ejecución: | Flash Player 9 |
Evalúa una expresión y, a continuación, descarta su valor, devolviendo undefined
. El operador void
se emplea a menudo en comparaciones que utilizan el operador ==
para comprobar valores undefined.
expression:Object —
Expresión que se va a evaluar.
|
* —
El valor undefined .
|
< > XML literal tag delimiter | Operador |
myXML= <{tagName} {attributeName} = {attributeValue}>{content}{tagName}> |
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 |
Define una etiqueta XML en un literal XML. Utilice la barra diagonal / para definir la etiqueta de cierre.
OperandosmyXML:* —
Un objeto XML o XMLList.
| |
tagName:* —
Expresión que da como resultado el nombre de una etiqueta XML.
| |
attributeName:* —
Expresión que da como resultado el nombre de un atributo XML.
| |
attributeValue:* —
Expresión que da como resultado el valor de un atributo XML.
| |
content:* —
Expresión que da como resultado el contenido de una etiqueta XML.
|
Ejemplo
Cómo utilizar este ejemplo
El ejemplo siguiente muestra cómo utilizar los operadores
<
y >
al definir un literal XML:
var x:XML = <item id= "324">cola</item>;
Elementos de API relacionados
Tue Jun 12 2018, 02:30 PM Z