Sözdizimi

Bir dilin sözdizimi, çalıştırılabilir kod yazarken izlenmesi gereken kurallar kümesini tanımlar.

Büyük/küçük harf duyarlılığı

ActionScript 3.0, büyük/küçük harf duyarlı bir dildir. Yalnızca büyük/küçük harf durumu farklı olan tanımlayıcılar, farklı tanımlayıcılar olarak değerlendirilir. Örneğin, aşağıdaki kod iki farklı değişken oluşturur:

var num1:int; 
var Num1:int;

Nokta sözdizimi

Nokta operatörü ( . ), bir nesnenin özelliklerine ve yöntemlerine erişme yolu sağlar. Nokta sözdizimini kullanıp sırayla örnek adı, nokta operatörü ve özellik veya yöntem adını kullanarak bir sınıf özelliğini ya da yöntemini ifade edebilirsiniz. Örneğin, şu sınıf tanımını göz önünde bulundurun:

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

Nokta sözdizimini kullanıp aşağıdaki kodda oluşturulan örnek adını kullanarak prop1 özelliğine ve method1() yöntemine erişebilirsiniz:

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

Paketleri tanımlarken nokta sözdizimini kullanabilirsiniz. Yuvalanmış paketleri ifade etmek için nokta operatörünü kullanırsınız. Örneğin, EventDispatcher sınıfı, flash adındaki paket içinde yuvalanmış events adındaki bir pakette bulunur. Aşağıdaki ifadeyi kullanarak events paketini ifade edebilirsiniz:

flash.events

Bu ifadeyi kullanarak da EventDispatcher sınıfını ifade edebilirsiniz:

flash.events.EventDispatcher

Eğik çizgi sözdizimi

Eğik çizgi sözdizimi ActionScript 3.0'da desteklenmez. Eğik çizgi sözdizimi, bir film klibinin veya değişkenin yolunu belirtmek için önceki ActionScript sürümlerinde kullanılırdı.

Değişmez değerler

Değişmez değer , doğrudan kodunuzda görüntülenen bir değerdir. Aşağıdaki örneklerin tümü değişmezdir:

17 
"hello" 
-3 
9.4 
null 
undefined 
true 
false

Değişmez değerler, bileşik değişmez değerler oluşturmak için de gruplandırılabilir. Dizi değişmezleri, köşeli ayraç karakterleri ( [] ) içine alınır ve dizi öğelerini ayırmak için virgül kullanır.

Dizi değişmezi, bir diziyi başlatmak için kullanılabilir. Aşağıdaki örnekler, dizi değişmezleri kullanılarak başlatılan iki diziyi gösterir. new deyimini kullanabilir ve bileşik değişmezini parametre olarak Array sınıfı yapıcısına iletebilirsiniz, ancak ayrıca, değişmez değerlerini şu ActionScript çekirdek sınıflarının örneklerini başlatırken doğrudan da atayabilirsiniz: Object, Array, String, Number, int, uint, XML, XMLList ve Boolean.

// Use new statement. 
var myStrings:Array = new Array(["alpha", "beta", "gamma"]); 
var myNums:Array = new Array([1,2,3,5,8]); 
 
// Assign literal directly. 
var myStrings:Array = ["alpha", "beta", "gamma"]; 
var myNums:Array = [1,2,3,5,8];

Değişmez değerler, genel bir nesneyi başlatmak için de kullanılabilir. Genel bir nesne, Object sınıfının bir örneğidir. Nesne değişmezleri küme parantezi ( {} ) içine alınır ve nesne özelliklerini ayırmak için virgül kullanır. Her özellik, özellik adını özelliğin değerinden ayıran iki nokta karakteri ( : ) ile bildirilir.

new deyimini kullanarak genel bir nesne oluşturabilir ve nesne değişmezini parametre olarak Object sınıfı yapıcısına iletebilir veya nesne değişmezini, bildirdiğiniz örneğe doğrudan atayabilirsiniz. Aşağıdaki örnek, yeni bir genel nesne oluşturup her biri sırayla 1, 2 ve 3 değerlerine ayarlanmış üç özellikle ( propA , propB ve propC ) nesneyi başlatmanın iki alternatif yolunu gösterir:

// Use new statement and add properties. 
var myObject:Object = new Object(); 
myObject.propA = 1; 
myObject.propB = 2; 
myObject.propC = 3; 
 
// Assign literal directly. 
var myObject:Object = {propA:1, propB:2, propC:3};

Noktalı virgüller

Bir deyimi sonlandırmak için noktalı virgül karakterini ( ; ) kullanabilirsiniz. Alternatif olarak, noktalı virgül karakterini çıkarırsanız, derleyici, her kod satırının tek bir deyimi temsil ettiğini varsayar. Programcıların çoğu deyim sonunu belirtmek için noktalı virgül kullanmaya alışkın olduğundan, deyimlerinizi sonlandırmak için sürekli olarak noktalı virgül kullanırsanız, kodunuzun okunması daha kolay olabilir.

Bir deyimi sonlandırmak için noktalı virgül kullanmanız, tek bir satıra birden çok deyim yerleştirmenize olanak sağlar ancak bu, kodunuzun okunmasını güçleştirebilir.

Parantezler

ActionScript 3.0'da parantezleri ( () ) üç şekilde kullanabilirsiniz. İlk olarak, bir ifadedeki işlemlerin sırasını değiştirmek için parantezleri kullanabilirsiniz. Parantezler içinde gruplandırılan işlemler her zaman önce çalıştırılır. Örneğin, aşağıdaki kodda işlemlerin sırasını değiştirmek için parantezler kullanılmıştır:

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

İkinci olarak, aşağıdaki örnekte olduğu gibi, bir ifadeler dizisini değerlendirmek ve son ifadenin sonucunu döndürmek için virgül operatörüyle ( , ) birlikte parantezleri kullanabilirsiniz:

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

Üçüncü olarak, aşağıdaki örnekte gösterildiği gibi, işlevlere veya yöntemlere bir ya da daha fazla parametre iletmek için parantezleri kullanabilirsiniz, böylece trace() işlevine bir String değeri iletilir:

trace("hello"); // hello

Yorumlar

ActionScript 3.0 kodu, iki tür yorumu destekler: tek satırlı yorumlar ve çok satırlı yorumlar. Bu yorumlama mekanizması, C++ ve Java uygulamalarındaki yorumlama mekanizmalarına benzer. Derleyici, yorum olarak işaretlenen metni yoksayar.

Tek satırlı yorumlar, iki eğik çizgi karakteriyle ( // ) başlar ve satırın sonuna kadar devam eder. Örneğin, aşağıdaki kodda tek satırlı bir yorum bulunmaktadır:

var someNumber:Number = 3; // a single line comment

Çok satırlı yorumlar, bir eğik çizgi ve yıldız işareti ( /* ) ile başlar ve bir yıldız işareti ve eğik çizgi ( */ ) ile sona erer.

/* This is multiline comment that can span 
more than one line of code. */

Anahtar sözcükler ve ayrılmış sözcükler

Ayrılmış sözcükler , ActionScript tarafından kullanılmak üzere ayrılmış olduğundan, kodunuzda tanımlayıcılar olarak kullanamadığınız sözcüklerdir. Ayrılmış sözcükler arasında, derleyici tarafından programdan kaldırılmayan sözlü anahtar sözcükler yer alır. Tanımlayıcı olarak sözlü bir anahtar sözcük kullanırsanız, derleyici bir hata bildirir. Aşağıdaki tabloda, ActionScript 3.0 sözlü anahtar sözcükleri listelenmektedir.

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

Sözdizimi anahtar sözcükleri adı verilen, tanımlayıcı olarak kullanılabilen ancak belirli bağlamlarda özel anlamı olan küçük bir anahtar sözcükleri kümesi vardır. Aşağıdaki tabloda, ActionScript 3.0 sözdizimi anahtar sözcükleri listelenmektedir.

each

get

set

namespace

include

dynamic

final

native

override

static

Ayrıca bazen gelecekteki ayrılmış sözcükler olarak ifade edilen birkaç tanımlayıcı da vardır. Bu tanımlayıcılardan bazıları, ActionScript 3.0 içeren yazılımlar tarafından anahtar sözcük olarak değerlendirilebilse de, bunlar ActionScript 3.0 tarafından ayrılmamıştır. Bu tanımlayıcıların çoğunu kodunuzda kullanabilirsiniz ancak bunlar sonraki dil sürümlerinde anahtar sözcük olarak görünebileceğinden, Adobe, bunları kullanmamanızı önerir.

abstract

boolean

byte

cast

char

debugger

double

enum

export

float

goto

intrinsic

long

prototype

short

synchronized

throws

to

transient

type

virtual

volatile

Sabitler

ActionScript 3.0, sabitler oluşturmak için kullanabildiğiniz const deyimini destekler. Sabitler, değiştirilemeyen sabit bir değere sahip özelliklerdir. Bir sabite yalnızca bir defa değer atayabilirsiniz ve atamanın, sabitin bildirimine yakın bir yerde gerçekleşmesi gerekir. Örneğin, bir sabit bir sınıfın üyesi olarak bildirilirse, bu sabite yalnızca bildirimin parçası olarak veya sınıf yapıcısının içinde bir değer atayabilirsiniz.

Aşağıdaki kod iki sabit bildirir. Birinci sabit olan MINIMUM , bildirim deyiminin parçası olarak atanmış bir değere sahiptir. İkinci sabit olan MAXIMUM , yapıcıda atanmış bir değere sahiptir. Katı mod bir sabitin değerinin yalnızca başlatma zamanında atanmasına olanak sağladığından, bu örneğin yalnızca standart modda derleme yaptığını unutmayın.

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

Bir sabite başka bir şekilde bir başlangıç değeri atamayı denerseniz bir hata oluşur. Örneğin, sınıfın dışında MAXIMUM başlangıç değerini ayarlamaya çalışırsanız, bir çalışma zamanı hatası oluşur.

class A 
{ 
public const MINIMUM:int = 0; 
public const MAXIMUM:int; 
} 
 
var a:A = new A(); 
a["MAXIMUM"] = 10; // run-time error

ActionScript 3.0, kullanmanız için çok çeşitli sabitleri tanımlar. Kural gereği, ActionScript'teki sabitlerin tümü, alt çizgi karakteri ( _ ) ile ayrılmış sözcüklerde büyük harf kullanır. Örneğin, MouseEvent sınıfı tanımı, her biri fare girdisiyle ilgili bir olayı temsil eden sabitleri için bu adlandırma kuralını kullanır:

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"; 
    ... 
    } 
}