Sintaxis

La sintaxis de un lenguaje define un conjunto de reglas que deben cumplirse al escribir código ejecutable.

Subtemas

Distinción entre mayúsculas y minúsculas
Sintaxis con punto
Sintaxis con barras diagonales
Literales
Signos de punto y coma
Paréntesis
Comentarios
Palabras clave y palabras reservadas
Constantes

Distinción entre mayúsculas y minúsculas

El lenguaje ActionScript 3.0 distingue mayúsculas de minúsculas. Los identificadores que sólo se diferencien en mayúsculas o minúsculas se considerarán identificadores distintos. Por ejemplo, el código siguiente crea dos variables distintas:

var num1:int;
var Num1:int;

Sintaxis con punto

El operador punto (.) proporciona una manera de acceder a las propiedades y métodos de un objeto. La sintaxis con punto permite hacer referencia a una propiedad o un método de clase mediante un nombre de instancia, seguido del operador punto y el nombre de la propiedad o el método. Por ejemplo, considere la siguiente definición de clase:

class DotExample
{
    public var prop1:String;
    public function method1():void {}
}

La sintaxis con punto permite acceder a la propiedad prop1 y al método method1() utilizando el nombre de la instancia creada en el código siguiente:

var myDotEx:DotExample = new DotExample();
myDotEx.prop1 = "hello";
myDotEx.method1();

Se puede utilizar la sintaxis con punto al definir paquetes. El operador punto se utiliza para hacer referencia a paquetes anidados. Por ejemplo, la clase EventDispatcher reside en un paquete denominado events que está anidado dentro del paquete denominado flash. Se puede hacer referencia al paquete events mediante la siguiente expresión:

flash.events

También se puede hacer referencia a la clase EventDispatcher mediante esta expresión:

flash.events.EventDispatcher

Sintaxis con barras diagonales

ActionScript 3.0 no admite la sintaxis con barras. Esta sintaxis se utilizaba en versiones anteriores de ActionScript para indicar la ruta de un clip de película o de una variable.

Literales

Un literal es un valor que aparece directamente en el código. Todos los ejemplos siguientes son literales:

17
"hello"
-3
9.4
null
undefined
true
false

Los literales también pueden agruparse para formar literales compuestos. Los literales de matrices se escriben entre corchetes ([]) y utilizan la coma para separar los elementos de matriz.

Un literal de matriz puede utilizarse para inicializar una matriz. En los siguientes ejemplos se muestran dos matrices que se inicializan mediante literales de matriz. Se puede utilizar la sentencia new y pasar el literal compuesto como parámetro al constructor de la clase Array, pero no se puede asignar valores literales directamente al crear instancias de las siguientes clases principales de ActionScript. Object, Array, String, Number, int, uint, XML, XMLList y Boolean.

// Utilizar sentencia new.
var myStrings:Array = new Array(["alpha", "beta", "gamma"]);
var myNums:Array = new Array([1,2,3,5,8]);

// Asignar literal directamente.
var myStrings:Array = ["alpha", "beta", "gamma"];
var myNums:Array = [1,2,3,5,8];

Los literales también se pueden utilizar para inicializar un objeto genérico. Un objeto genérico es una instancia de la clase Object. Los literales de objetos se escriben entre llaves ({}) y utilizan la coma para separar las propiedades del objeto. Cada propiedad se declara mediante el signo de dos puntos (:), que separa el nombre de la propiedad del valor de la propiedad.

Se puede crear un objeto genérico utilizando la sentencia new y pasar el literal de objeto como parámetro al constructor de la clase Object, o bien asignar el literal de objeto directamente a la instancia que se está declarando. En el siguiente ejemplo se crea un nuevo objeto genérico y se inicializa el objeto con tres propiedades ( propA, propB y propC) establecidas en los valores 1, 2 y 3 respectivamente:

// Utilizar sentencia new.
var myObject:Object = new Object({propA:1, propB:2, propC:3});

// Asignar literal directamente.
var myObject:Object = {propA:1, propB:2, propC:3};

Para más información, consulte Fundamentos de la utilización de cadenas, Fundamentos de la utilización de expresiones regulares y Inicialización de variables XML.

Signos de punto y coma

Se puede utilizar el signo de punto y coma (;) para finalizar una sentencia. Como alternativa, si se omite el signo de punto y coma, el compilador dará por hecho que cada línea de código representa a una sentencia independiente. Como muchos programadores están acostumbrados a utilizar el signo de punto y coma para indicar el final de una sentencia, el código puede ser más legible si se usan siempre signos de punto y coma para finalizar las sentencias.

El uso del punto y coma para terminar una sentencia permite colocar más de una sentencia en una misma línea, pero esto hará que el código resulte más difícil de leer.

Paréntesis

Se pueden utilizar paréntesis (()) de tres maneras en ActionScript 3.0. En primer lugar, se pueden utilizar paréntesis para cambiar el orden de las operaciones en una expresión. Las operaciones agrupadas entre paréntesis siempre se ejecutan primero. Por ejemplo, se utilizan paréntesis para modificar el orden de las operaciones en el código siguiente:

trace(2 + 3 * 4);    // 14
trace( (2 + 3) * 4); // 20

En segundo lugar, se pueden utilizar paréntesis con el operador coma (,) para evaluar una serie de expresiones y devolver el resultado de la expresión final, como se indica en el siguiente ejemplo:

var a:int = 2;
var b:int = 3;
trace((a++, b++, a+b)); // 7

Por último, se pueden utilizar paréntesis para pasar uno o más parámetros a funciones o métodos, como se indica en el siguiente ejemplo, que pasa un valor String a la función trace():

trace("hello"); // hello

Comentarios

El código ActionScript 3.0 admite dos tipos de comentarios: comentarios de una sola línea y comentarios multilínea. Estos mecanismos para escribir comentarios son similares a los equivalentes de C++ y Java. El compilador omitirá el texto marcado como un comentario.

Los comentarios de una sola línea empiezan por dos caracteres de barra diagonal (//) y continúan hasta el final de la línea. Por ejemplo, el código siguiente contiene un comentario de una sola línea:

var someNumber:Number = 3; // un comentario de una sola línea

Los comentarios multilínea empiezan con una barra diagonal y un asterisco (/*) y terminan con un asterisco y una barra diagonal (*/).

/* Esto es comentario multilínea que puede abarcar
más de una línea de código. */

Palabras clave y palabras reservadas

Las palabras reservadas son aquellas que no se pueden utilizar como identificadores en el código porque su uso está reservado para ActionScript. Incluyen las palabras clave léxicas, que son eliminadas del espacio de nombres del programa por el compilador. El compilador notificará un error si se utiliza una palabra clave léxica como un identificador. En la tabla siguiente se muestran las palabras clave léxicas de ActionScript 3.0.

as

break

case

catch

class

const

continue

default

delete

do

else

extends

false

finally

for

function

if

implements

import

in

instanceof

interface

internal

is

native

new

null

package

private

protected

public

return

super

switch

this

throw

to

true

try

typeof

use

var

void

while

with

 

 

 

Hay un pequeño conjunto de palabras clave, denominadas palabras clave sintácticas, que se pueden utilizar como identificadores, pero que tienen un significado especial en determinados contextos. En la tabla siguiente se muestran las palabras clave sintácticas de ActionScript 3.0.

each

get

set

namespace

include

dynamic

final

native

override

static

 

 

También hay varios identificadores que a veces se llaman futuras palabras reservadas. Estos identificadores no están reservados por ActionScript 3.0, aunque algunos de ellos pueden ser tratados como palabras clave en software que incorpore ActionScript 3.0. Se pueden utilizar muchos de estos identificadores en los programas, pero Adobe recomienda no hacerlo, ya que podrían aparecer como palabras clave en una versión posterior del lenguaje.

abstract

boolean

byte

cast

char

debugger

double

enum

export

float

goto

intrinsic

long

prototype

short

synchronized

throws

to

transient

type

virtual

volatile

 

 

Constantes

ActionScript 3.0 admite la sentencia const, que se puede utilizar para crear constantes. Las constantes son propiedades con un valor fijo que no se puede modificar. Se puede asignar un valor a una constante una sola vez y la asignación debe realizarse cerca de la declaración de la constante. Por ejemplo, si se declara una constante como un miembro de una clase, se puede asignar un valor a esa constante únicamente como parte de la declaración o dentro del constructor de la clase.

El código siguiente declara dos constantes. Se asigna un valor a la primera constante, MINIMUM, como parte de la sentencia de declaración. A la segunda constante, MAXIMUM, se le asigna un valor en el constructor.

class A
{
    public const MINIMUM:int = 0;
    public const MAXIMUM:int;

    public function A()
    {
        MAXIMUM = 10;
    }
}

var a:A = new A();
trace(a.MINIMUM); // 0
trace(a.MAXIMUM); // 10

Se producirá un error si se intenta asignar de otra manera un valor inicial a una constante. Por ejemplo, si se intenta establecer el valor inicial de MAXIMUM fuera de la clase, se producirá un error en tiempo de ejecución.

class A
{
  public const MINIMUM:int = 0;
  public const MAXIMUM:int;
}

var a:A = new A();
a["MAXIMUM"] = 10; // error en tiempo de ejecución

La API de Flash Player define un amplio rango de constantes que se pueden utilizar. Por convención, en ActionScript las constantes se escriben en mayúsculas y las palabras que las forman se separan mediante el carácter de subrayado ( _ ). Por ejemplo, la definición de la clase MouseEvent utiliza esta convención de nomenclatura para sus constantes, cada una de las cuales representa un evento relacionado con una entrada del ratón:

package flash.events
{
  public class MouseEvent extends Event
  {
    public static const CLICK:String               = "click";
    public static const DOUBLE_CLICK:String        = "doubleClick";
    public static const MOUSE_DOWN:String          = "mouseDown";
    public static const MOUSE_MOVE:String          = "mouseMove";
    ...
  }
}

Flash CS3

 

Enviarme un mensaje de correo electrónico cuando se añadan comentarios a esta página | Informe de comentarios

Página actual: http://livedocs.adobe.com/flash/9.0_es/main/00000049.html