기호 연산자는 표현식의 값을 결합, 비교, 수정하는 방법을 지정하는 문자입니다.
비트 연산자 | |||
---|---|---|---|
& | bitwise AND | expression1 및 expression2 를 32비트 부호 없는 정수로 변환하고 정수 매개 변수의 각 비트에 대해 부울 AND 연산을 수행합니다. | |
<< | bitwise left shift | expression1 및 shiftCount 를 32비트 정수로 변환하고, expression1 의 모든 비트를 shiftCount 변환 결과 정수값으로 지정된 자릿수만큼 왼쪽으로 이동합니다. | |
~ | bitwise NOT | expression 을 32비트 부호 있는 정수로 변환한 다음 비트 1의 보수를 적용합니다. | |
| | bitwise OR | expression1 및 expression2 를 32비트 부호 없는 정수로 변환하고, expression1 또는 expression2 의 해당 비트가 1인 각 비트 위치에 1을 배치합니다. | |
>> | bitwise right shift | expression 및 shiftCount 를 32비트 정수로 변환하고, expression 의 모든 비트를 shiftCount 의 변환 결과로 나온 정수로 지정된 자릿수만큼 오른쪽으로 이동합니다. | |
>>> | bitwise unsigned right shift | >> ) 연산자와 동일합니다. | |
^ | bitwise XOR | expression1 및 expression2 를 32비트 부호 없는 정수로 변환하고, expression1 또는 expression2 중 하나의 해당 비트가 1인 각 비트 위치에 1을 배치합니다. | |
bitwise 복합 대입 | |||
&= | bitwise AND assignment | expression1 에 expression1 & expression2 의 값을 대입합니다. | |
<<= | bitwise left shift and assignment | <<= ) 연산을 수행하고 그 결과를 expression1 에 저장합니다. | |
|= | bitwise OR assignment | expression1 에 expression1 | expression2 의 값을 대입합니다. | |
>>= | bitwise right shift and assignment | expression 에 저장합니다. | |
>>>= | bitwise unsigned right shift and assignment | expression 에 저장합니다. | |
^= | bitwise XOR assignment | expression1 에 expression1 ^ expression2 의 값을 대입합니다. | |
XML | |||
@ | attribute identifier | ||
{ } | braces (XML) | ||
[ ] | brackets (XML) | ||
+ | concatenation (XMLList) | ||
+= | concatenation assignment (XMLList) | expression1 에 XMLList 객체인 expression1 + expression2 의 값을 대입합니다. | |
delete (XML) | reference 로 지정된 XML 요소 또는 특성을 삭제합니다. | ||
.. | descendant accessor | ||
. | dot (XML) | ||
( ) | parentheses (XML) | ||
< > | XML literal tag delimiter | ||
기타 | |||
[] | array access | a0 등과 같은 지정된 요소를 사용하여 새 배열 또는 다차원 배열을 초기화하거나 배열의 요소에 액세스합니다. | |
as | |||
, | comma | expression1 , expression2 등의 순서대로 평가합니다. | |
?: | conditional | expression1 을 평가하여 expression1 의 값이 true 이면 결과는 expression2 의 값이고, 그렇지 않으면 결과는 expression3 의 값입니다. | |
delete | reference 에 지정된 객체 속성을 삭제한 후 속성이 존재하지 않으면 결과가 true 이고, 그렇지 않으면 false 입니다. | ||
. | dot | ||
in | |||
instanceof | function 에 대한 프로토타입 객체가 포함되어 있는지 여부를 평가합니다. | ||
is | |||
:: | name qualifier | ||
new | |||
{} | object initializer | name 및 value 속성 쌍으로 새 객체를 만들거나 초기화합니다. | |
() | parentheses | ||
/ | RegExp delimiter | ||
: | type | ||
typeof | expression 을 평가하고 표현식의 데이터 유형을 지정하는 문자열을 반환합니다. | ||
void | undefined 를 반환합니다. | ||
논리 | |||
&& | logical AND | false 이거나 false 로 변환될 수 있으면 expression1 을 반환하고, 그렇지 않으면 expression2 를 반환합니다. | |
&&= | logical AND assignment | expression1 에 expression1 && expression2 의 값을 대입합니다. | |
! | logical NOT | ||
|| | logical OR | true 이거나 true 로 변환될 수 있으면 expression1 을 반환하고, 그렇지 않으면 expression2 를 반환합니다. | |
||= | logical OR assignment | expression1 에 expression1 || expression2 의 값을 대입합니다. | |
대입 | |||
= | assignment | expression2 의 값(오른쪽 피연산자)을 expression1 의 변수, 배열 요소 또는 속성에 대입합니다. | |
문자열 | |||
+ | concatenation | ||
+= | concatenation assignment | expression1 에 expression1 + expression2 의 값을 대입합니다. | |
" | string delimiter | ||
비교 | |||
== | equality | ||
> | greater than | expression1 이 expression2 보다 큰지 여부를 확인합니다. 큰 경우 결과는 true 입니다. | |
>= | greater than or equal to | expression1 이 expression2 보다 크거나 같은지(true ) 또는 expression1 이 expression2 보다 작은지(false ) 확인합니다. | |
!= | inequality | == ) 연산자의 정반대 상황을 테스트합니다. | |
< | less than | expression1 이 expression2 보다 작은지 여부를 확인합니다. 작은 경우 결과는 true 입니다. | |
<= | less than or equal to | expression1 이 expression2 보다 작거나 같은지를 확인합니다. 작거나 같은 경우 결과는 true 입니다. | |
=== | strict equality | ||
!== | strict inequality | === ) 연산자의 정반대 상황을 테스트합니다. | |
산술 | |||
+ | addition | ||
-- | decrement | ||
/ | division | expression1 을 expression2 로 나눕니다. | |
++ | increment | ||
% | modulo | expression1 을 expression2 로 나눈 나머지를 계산합니다. | |
* | multiplication | ||
- | subtraction | ||
산술 복합 대입 | |||
+= | addition assignment | expression1 에 expression1 + expression2 의 값을 대입합니다. | |
/= | division assignment | expression1 에 expression1 / expression2 의 값을 대입합니다. | |
%= | modulo assignment | expression1 에 expression1 % expression2 의 값을 대입합니다. | |
*= | multiplication assignment | expression1 에 expression1 * expression2 의 값을 대입합니다. | |
-= | subtraction assignment | expression1 에 expression1 - expression2 의 값을 대입합니다. | |
주석 | |||
/*..*/ | block comment delimiter | ||
// | line comment delimiter |
+ addition | 연산자 |
|
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
숫자 표현식을 추가합니다. 두 표현식이 정수인 경우 그 합도 정수이며, 한 표현식 또는 두 표현식이 모두 부동 소수점 숫자인 경우 그 합도 부동 소수점 숫자입니다.
한 표현식이 문자열이면 다른 표현식도 모두 더해지는 대신 문자열로 변환된 후 연결됩니다. 그렇지 않고 한 표현식이 숫자가 아닌 경우에는 Flash® Player가 해당 표현식을 숫자로 변환합니다.
피연산자expression1:Number —
추가할 값입니다.
| |
expression2:Number —
추가할 값입니다.
|
Number —
정수 또는 부동 소수점 숫자입니다.
|
예제
예제 사용 방법
이 명령문은 정수 2와 3을 더합니다.
trace(2 + 3); // 5
trace(2.5 + 3.25); // 5.75
trace("Number " + 8 + 0); // Number 80
deposit
변수는 스테이지에 있는 입력 텍스트 필드입니다. 사용자가 예금액을 입력하면 스크립트에서 deposit
을 oldBalance
에 추가하려고 시도합니다. 하지만 deposit
은 String 유형이므로 스크립트에서는 변수 값을 더하는 대신 서로 연결하여 한 문자열을 구성합니다.
var oldBalance:Number = 1345.23; var currentBalance = deposit_txt.text + oldBalance; trace(currentBalance);
trace()
문에서 4751345.23 값을 출력 패널에 전달합니다. 이 문제를 해결하려면 다음과 같이 Number()
함수를 사용하여 문자열을 숫자로 변환해야 합니다.
var oldBalance:Number = 1345.23; var currentBalance:Number = Number(deposit_txt.text) + oldBalance; trace(currentBalance);
관련 API 요소
+= addition assignment | 연산자 |
|
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
expression1
에 expression1 + expression2
의 값을 대입합니다. 예를 들어, 다음 두 명령문의 결과는 동일합니다.
x += y; x = x + y;addition(+) 연산자의 모든 규칙은 addition assignment(
+=
) 연산자에 적용됩니다.
피연산자expression1:Number —
숫자입니다.
| |
expression2:Number —
숫자입니다.
|
Number —
더하기의 결과입니다.
|
예제
예제 사용 방법
다음 예제에서는 addition assignment(
+=
) 연산자를 산술적으로 사용하는 방법을 보여 줍니다.
var x:Number = 5; var y:Number = 10; x += y; trace(x); // 15
관련 API 요소
[] array access | 연산자 |
|
런타임 버전: | Flash Player 9 |
a0
등과 같은 지정된 요소를 사용하여 새 배열 또는 다차원 배열을 초기화하거나 배열의 요소에 액세스합니다. array access 연산자를 사용하면 인스턴스, 변수 및 객체 이름을 동적으로 설정하고 가져올 수 있습니다. 또한 객체 속성에 액세스할 수도 있습니다.
구문 1: 배열은 일종의 객체로 해당 속성은 요소라고 하며, 이 요소는 각각 인덱스라는 숫자에 의해 식별됩니다. 배열을 만드는 경우 array access([]) 연산자 또는 대괄호를 사용하여 요소를 묶습니다. 배열에는 다양한 유형의 요소가 포함될 수 있습니다. 예를 들어, 이름이 employee
인 다음 배열에는 세 요소가 포함되어 있습니다. 첫 번째 요소는 숫자이고 두 번째 두 요소는 인용 부호로 묶여 있는 문자열입니다.
var employee:Array = [15, "Barbara", "Jay"];
ticTacToe
라는 배열을 만듭니다. 각 요소는 또한 세 요소가 포함된 하나의 배열입니다. 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()
문은 두 번째 배열(인덱스 1)의 세 번째 요소(인덱스 2)를 찾습니다.
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 —
배열의 이름입니다.
| |
a0, a1,...aN:Object —
배열의 요소; 기본 유형 또는 객체 인스턴스입니다(중첩된 배열 포함).
| |
i:Number —
0보다 크거나 같은 정수 인덱스입니다.
| |
myObject:Object —
객체의 이름입니다.
| |
propertyName:String —
객체 속성의 이름을 지정하는 문자열입니다.
|
Object —
구문 1: 배열에 대한 참조입니다. 구문 2: 배열의 값이며 기본 유형 또는 객체 인스턴스입니다(Array 인스턴스 포함). 구문 3: 객체의 속성이며 기본 유형 또는 객체 인스턴스입니다(Array 인스턴스 포함). |
예제
예제 사용 방법
다음 예제에서는 새로운 빈 Array 객체를 만드는 두 가지 방법을 보여 줍니다. 첫 번째 행에서는 대괄호를 사용합니다.
var my_array:Array = []; var my_array:Array = new Array();
다음 예제에서는 요소가 세 개인 employee_array
배열을 만들고 배열의 세 번째 요소를 변경합니다.
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 */
관련 API 요소
as | 연산자 |
|
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
첫 번째 피연산자로 지정된 표현식이 두 번째 피연산자로 지정된 데이터 유형의 멤버인지 평가합니다. 첫 번째 피연산자가 해당 데이터 유형의 멤버이면 결과는 첫 번째 피연산자입니다. 그렇지 않으면 결과는 null
값입니다.
두 번째 피연산자에 사용된 표현식은 데이터 유형으로 평가되어야 합니다.
피연산자expression:* —
지정된 데이터 유형에 대해 검사할 값입니다.
| |
datatype:Class —
expression 피연산자를 평가하는 데 사용되는 데이터 유형입니다. 유형이 지정되지 않았음을 의미하는 특수 * 유형은 사용할 수 없습니다.
|
Object —
expression 이 datatype 에 지정된 데이터 유형의 멤버이면 결과는 expression 입니다. 그렇지 않으면 결과는 null 값입니다.
|
예제
예제 사용 방법
다음 예제에서는
myArray
라는 간단한 배열을 만들고 as
연산자를 다양한 데이터 유형과 함께 사용합니다.
public var myArray:Array = ["one", "two", "three"]; trace(myArray as Array); // one,two,three trace(myArray as Number); // null trace(myArray as int); // null
관련 API 요소
= assignment | 연산자 |
|
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
expression2
의 값(오른쪽 피연산자)을 expression1
의 변수, 배열 요소 또는 속성에 대입합니다. 이때 값 또는 참조를 기준으로 대입할 수 있습니다. 값을 기준으로 하는 대입은 expression2
의 실제 값을 복사하여 이를 expression1
에 저장합니다. 값을 기준으로 하는 대입은 expression2
가 원시 값일 때 즉, 값의 데이터 유형이 Boolean, Number, int, uint 또는 String인 경우에 사용됩니다. 참조를 기준으로 하는 대입은 expression2
에 대한 참조를 expression1
에 저장합니다. 참조를 기준으로 하는 대입은 주로 new
연산자와 함께 사용됩니다. new
연산자는 메모리에 객체를 만들고, 메모리의 해당 위치에 대한 참조가 변수에 지정됩니다.
참고: ActionScript 3.0에서 모든 값(원시 값 포함)은 객체이며 모든 대입은 참조로 수행됩니다. 그러나 원시 객체에는 값을 기준으로 대입되는 것처럼 처리해주는 특수 연산자가 있습니다.
피연산자expression1:* —
변수, 배열 요소 또는 객체의 속성입니다.
| |
expression2:* —
모든 유형의 값입니다.
|
Object —
대입되는 값은 expression2 입니다.
|
예제
예제 사용 방법
다음 예제에서는 값을 기준으로 하는 대입을 사용하여
z
변수에 값 5를 대입합니다.
var z:Number = 5;
z
변수에 "hello
"라는 값을 대입합니다.
var x:String; x = "hello";
moonsOfJupiter
변수를 만듭니다. 이 변수에는 새로 만든 Array 객체에 대한 참조가 포함됩니다. 이번에는 다시 값을 기준으로 하는 대입을 사용하여 "Callisto"라는 값을 moonsOfJupiter
변수가 참조하는 배열의 첫 번째 요소에 복사합니다.
var moonsOfJupiter:Array = new Array(); moonsOfJupiter[0] = "Callisto";
mercury
변수에 대입합니다. 이번에는 다시 값을 기준으로 하는 대입을 사용하여 값 3030을 mercury
객체의 diameter
속성에 대입합니다.
var mercury:Object = new Object(); mercury.diameter = 3030; // in miles trace(mercury.diameter); // 3030
merkur
라는 변수를 만들고 여기에 mercury
값을 대입합니다. 이렇게 하면 메모리에서 같은 객체를 참조하는 변수가 두 개 만들어지고 둘 중 어느 변수를 사용하더라도 해당 객체의 속성에 액세스할 수 있습니다. 마일 대신 킬로미터 단위를 사용하도록 diameter
속성을 변경할 수도 있습니다.
var merkur:Object = mercury; merkur.diameter = 4878; // in kilometers trace(mercury.diameter); // 4878
관련 API 요소
@ attribute identifier | 연산자 |
myXML.@attributeName |
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
XML 또는 XMLList 객체의 특성을 식별합니다. 예를 들어, myXML.@id
는 myXML
XML 객체의 id
특성을 식별합니다. myXML.attribute("id")
, myXML["@id"]
, myXML.@["id"]
등의 구문을 사용하여 특성에 액세스할 수도 있습니다. myXML.@id
구문을 사용하는 것이 좋습니다. 모든 특성 이름의 XMLList 객체를 반환하려면 @*
를 사용합니다. ActionScript 예약어와 일치하는 이름의 특성을 반환하려면 @
연산자 대신 attribute()
메서드를 사용합니다.
attributeName:* —
특성의 이름입니다.
|
예제
예제 사용 방법
첫 번째 예제에서는
@
(at 기호) 연산자를 사용하여 요소의 특성을 식별합니다.
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
구문은 사용할 수 없습니다. class
는 ActionScript 예약어이기 때문입니다. 이 경우 xml.attribute("class")
: 구문을 사용해야 합니다.
var xml:XML = <example class='123'/> trace(xml.attribute("class"));
관련 API 요소
& bitwise AND | 연산자 |
|
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
expression1
및 expression2
를 32비트 부호 없는 정수로 변환하고 정수 매개 변수의 각 비트에 대해 부울 AND 연산을 수행합니다. 부동 소수점 숫자는 소수점 뒤의 숫자를 제거하여 정수로 변환됩니다. 그 결과로 새 32비트 정수가 생깁니다.
양의 정수는 최대값이 4294967295 또는 0xFFFFFFFF인 부호 없는 16진수 값으로 변환되고, 최대값보다 큰 값은 변환될 때 32비트 값을 유지하기 위해 최상위 자릿수를 버립니다. 음수는 2의 보수 표기를 사용하여 최소값이 -2147483648 또는 0x800000000인 부호 없는 16진수 값으로 변환되고, 최소값 미만의 숫자는 정밀도가 더 높은 2의 보수로 변환된 후 최상위 자릿수를 버립니다.
결과는 32비트 2의 보수로 해석되므로 -2147483648에서 2147483647 범위의 정수가 됩니다.
피연산자expression1:Number —
숫자 또는 숫자로 평가되는 표현식입니다.
| |
expression2:Number —
숫자 또는 숫자로 평가되는 표현식입니다.
|
int —
bitwise 연산의 결과입니다.
|
예제
예제 사용 방법
다음 예제에서는 13(이진수 값 1101)과 11(이진수 값 1011)의 비트 표현을 비교하여 bitwise AND를 수행합니다. 결과 정수는 일련의 비트로 구성되며, 각 비트는 같은 위치에 있는 두 피연산자의 비트가 1인 경우에만 1로 설정됩니다.
var insert:Number = 13; var update:Number = 11; trace(insert & update); // 9 (or 1001 binary)
1101 & 1011 ---- 1001
다음 예제는 반환값 변환의 비헤이비어를 보여 줍니다.
trace(0xFFFFFFFF); // 4294967295 trace(0xFFFFFFFF & 0xFFFFFFFF); // -1 trace(0xFFFFFFFF & -1); // -1 trace(4294967295 & -1); // -1 trace(4294967295 & 4294967295); // -1
관련 API 요소
&= bitwise AND assignment | 연산자 |
|
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
expression1
에 expression1
& expression2
의 값을 대입합니다. 예를 들어, 다음 두 표현식은 동일합니다.
x &= y; x = x & y;피연산자
expression1:Number —
숫자 또는 숫자로 평가되는 표현식입니다.
| |
expression2:Number —
숫자 또는 숫자로 평가되는 표현식입니다.
|
int —
expression1 & expression2 의 값입니다.
|
예제
예제 사용 방법
다음 예제에서는 값 9를
x
에 대입합니다.
var x:Number = 15; var y:Number = 9; trace(x &= y); // 9
관련 API 요소
<< bitwise left shift | 연산자 |
|
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
expression1
및 shiftCount
를 32비트 정수로 변환하고, expression1
의 모든 비트를 shiftCount
변환 결과 정수값으로 지정된 자릿수만큼 왼쪽으로 이동합니다. 이 연산을 수행한 결과 비어 있는 비트 위치는 0으로 채워지고 왼쪽 끝으로 이동된 비트는 제거됩니다. 값을 왼쪽으로 한 자리씩 이동하는 것은 산술적으로 2를 곱하는 것과 같습니다.
부동 소수점 숫자는 소수점 뒤의 숫자를 제거하여 정수로 변환됩니다. 양의 정수는 최대값이 4294967295 또는 0xFFFFFFFF인 부호 없는 16진수 값으로 변환되고, 최대값보다 큰 값은 변환될 때 32비트 값을 유지하기 위해 최상위 자릿수를 버립니다. 음수는 2의 보수 표기를 사용하여 최소값이 -2147483648 또는 0x800000000인 부호 없는 16진수 값으로 변환되고, 최소값 미만의 숫자는 정밀도가 더 높은 2의 보수로 변환된 후 최상위 자릿수를 버립니다.
결과는 32비트 2의 보수로 해석되므로 -2147483648에서 2147483647 범위의 정수가 됩니다.
결과가 음의 정수인 경우 결과를 uint
유형의 변수에 대입하려고 하면 런타임 오류가 발생합니다. ActionScript에는 "unsigned bitwise left shift" 연산자가 없지만 uint(expression1 << shiftCount)
를 사용하여 런타임 오류 없이 동일한 효과를 얻을 수 있습니다.
var num1:uint = 0xFF; var num2:uint = uint(num1 << 24); // uint() prevents runtime error
expression1:Number —
왼쪽으로 이동할 숫자 또는 표현식입니다.
| |
shiftCount:Number —
0부터 31까지의 정수로 변환되는 숫자 또는 표현식입니다.
|
int —
bitwise 연산의 결과입니다.
|
예제
예제 사용 방법
다음 예제에서는 정수 1이 왼쪽으로 10비트 이동합니다.
x = 1 << 10
00000000001 binary << 10 decimal -------------- 10000000000 binary equals 1024 decimal
다음 예제에서는 정수 7이 왼쪽으로 8비트 이동합니다.
x = 7 << 8
00000000111 binary << 8 decimal -------------- 11100000000 binary equals 1792 decimal
다음 trace
문은 비트가 왼쪽으로 세 자리 밀린 것을 보여 줍니다.
// 1 binary == 0001 // 8 binary == 1000 trace(1 << 3); // 8
관련 API 요소
<<= bitwise left shift and assignment | 연산자 |
|
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
bitwise left shift(<<=
) 연산을 수행하고 그 결과를 expression1
에 저장합니다. 다음 두 표현식은 동일합니다.
A <<= B A = (A << B)피연산자
expression1:Number —
왼쪽으로 이동할 숫자 또는 표현식입니다.
| |
expression2:Number —
0부터 31까지의 정수로 변환되는 숫자 또는 표현식입니다.
|
int —
bitwise 연산의 결과입니다.
|
예제
예제 사용 방법
다음 예제에서는 bitwise left shift and assignment(<<=) 연산자를 사용하여 모든 비트를 왼쪽으로 한 자리 이동합니다.
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
관련 API 요소
~ bitwise NOT | 연산자 |
|
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
expression
을 32비트 부호 있는 정수로 변환한 다음 비트 1의 보수를 적용합니다. 즉, 결과에서 0인 비트는 모두 1로 설정되고 1인 비트는 모두 0으로 설정됩니다. 그 결과 부호 있는 32비트 정수가 만들어집니다. 이 연산자는 1의 보수 연산자 또는 비트 보수 연산자라고도 합니다.
예를 들어, 16진수 값 0x7777은 다음과 같은 2진 숫자로 표시됩니다.
0111011101110111
이 16진수 값의 비트 부정 ~0x7777은 다음과 같은 이진 숫자입니다.
1000100010001000
16진수에서 이 값은 0x8888입니다. 따라서 ~0x7777은 0x8888입니다.
bitwise 연산자는 플래그 비트(각각 1비트로 패키지된 부울 값)를 표시하는 데 가장 일반적으로 사용됩니다.
부동 소수점 숫자는 소수점 뒤의 숫자를 제거하여 정수로 변환됩니다. 양의 정수는 최대값이 4294967295 또는 0xFFFFFFFF인 부호 없는 16진수 값으로 변환되고, 최대값보다 큰 값은 변환될 때 32비트 값을 유지하기 위해 최상위 자릿수를 버립니다. 음수는 2의 보수 표기를 사용하여 최소값이 -2147483648 또는 0x800000000인 부호 없는 16진수 값으로 변환되고, 최소값 미만의 숫자는 정밀도가 더 높은 2의 보수로 변환된 후 최상위 자릿수를 버립니다.
결과는 32비트 2의 보수로 해석되므로 -2147483648에서 2147483647 범위의 정수가 됩니다.
피연산자expression:Number —
변환할 숫자입니다.
|
int —
bitwise 연산의 결과입니다.
|
예제
예제 사용 방법
다음 예제에서는 bitwise NOT(
~
) 연산자를 플래그 비트와 함께 사용하는 방법을 보여 줍니다.
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
관련 API 요소
| bitwise OR | 연산자 |
|
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
expression1
및 expression2
를 32비트 부호 없는 정수로 변환하고, expression1
또는 expression2
의 해당 비트가 1인 각 비트 위치에 1을 배치합니다.
부동 소수점 숫자는 소수점 뒤의 숫자를 제거하여 정수로 변환됩니다. 양의 정수는 최대값이 4294967295 또는 0xFFFFFFFF인 부호 없는 16진수 값으로 변환되고, 최대값보다 큰 값은 변환될 때 32비트 값을 유지하기 위해 최상위 자릿수를 버립니다. 음수는 2의 보수 표기를 사용하여 최소값이 -2147483648 또는 0x800000000인 부호 없는 16진수 값으로 변환되고, 최소값 미만의 숫자는 정밀도가 더 높은 2의 보수로 변환된 후 최상위 자릿수를 버립니다.
결과는 32비트 2의 보수로 해석되므로 -2147483648에서 2147483647 범위의 정수가 됩니다.
피연산자expression1:Number —
숫자입니다.
| |
expression2:Number —
숫자입니다.
|
int —
bitwise 연산의 결과입니다.
|
예제
예제 사용 방법
다음은 bitwise OR(
|
) 연산 예제입니다. // 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)
|
(bitwise OR)과 ||
(logical OR)을 혼동하지 마십시오.
관련 API 요소
|= bitwise OR assignment | 연산자 |
|
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
expression1
에 expression1 | expression2
의 값을 대입합니다. 예를 들어, 다음 두 명령문은 동일합니다.
x |= y; x = x | y;피연산자
expression1:Number —
변환할 숫자입니다.
| |
expression2:Number —
변환할 숫자입니다.
|
int —
bitwise 연산의 결과입니다.
|
예제
예제 사용 방법
다음 예제에서는 bitwise OR assignment(
|=
) 연산자를 사용합니다. // 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)
관련 API 요소
>> bitwise right shift | 연산자 |
|
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
expression
및 shiftCount
를 32비트 정수로 변환하고, expression
의 모든 비트를 shiftCount
의 변환 결과로 나온 정수로 지정된 자릿수만큼 오른쪽으로 이동합니다. 오른쪽 끝으로 이동된 비트는 제거됩니다. 원래 표현식의 부호를 유지하려는 경우, expression
의 최상위 비트(가장 왼쪽 비트)가 0이면 왼쪽 비트를 0으로 채우고 최상위 비트가 1이면 왼쪽 비트를 1로 채웁니다. 값을 오른쪽으로 한 자리 이동하는 것은 이 값을 2로 나누고 나머지를 버리는 것과 같습니다.
부동 소수점 숫자는 소수점 뒤의 숫자를 제거하여 정수로 변환됩니다. 양의 정수는 최대값이 4294967295 또는 0xFFFFFFFF인 부호 없는 16진수 값으로 변환되고, 최대값보다 큰 값은 변환될 때 32비트 값을 유지하기 위해 최상위 자릿수를 버립니다. 음수는 2의 보수 표기를 사용하여 최소값이 -2147483648 또는 0x800000000인 부호 없는 16진수 값으로 변환되고, 최소값 미만의 숫자는 정밀도가 더 높은 2의 보수로 변환된 후 최상위 자릿수를 버립니다.
결과는 32비트 2의 보수로 해석되므로 -2147483648에서 2147483647 범위의 정수가 됩니다.
피연산자expression:Number —
오른쪽으로 이동할 숫자 또는 표현식입니다.
| |
shiftCount:Number —
0부터 31까지의 정수로 변환되는 숫자 또는 표현식입니다.
|
int —
bitwise 연산의 결과입니다.
|
예제
예제 사용 방법
다음 예제에서는 65535를 32비트 정수로 변환하고 오른쪽으로 8비트 이동하여 10진수 255를 결과로 얻습니다.
var a:Number = 65535 >> 8; trace(a); // 255
00000000000000001111111111111111 binary (65535 decimal) >> 8 decimal -------------------- 00000000000000000000000011111111 binary (255 decimal)다음 예제에서는 -8을 32비트 정수로 변환하고 오른쪽으로 1비트 이동하여 10진수 -4를 결과로 얻습니다.
var a:Number = -8 >> 1; trace(a); // -4
11111111111111111111111111111000 binary (-8 decimal) >> 1 decimal -------------------- 11111111111111111111111111111100 binary (-4 decimal)
관련 API 요소
>>= bitwise right shift and assignment | 연산자 |
|
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
bitwise right shift 연산을 수행하고 그 결과를 expression
에 저장합니다.
다음 두 명령문은 동일합니다.
A >>= B; A = (A >> B);피연산자
expression:Number —
오른쪽으로 이동할 숫자 또는 표현식입니다.
| |
shiftCount:Number —
0부터 31까지의 정수로 변환되는 숫자 또는 표현식입니다.
|
int —
bitwise 연산의 결과입니다.
|
예제
예제 사용 방법
다음 코드 예제에서는 bitwise right shift and assignment(
>>=
) 연산자를 사용합니다.
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.
관련 API 요소
>>> bitwise unsigned right shift | 연산자 |
|
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
왼쪽 비트에는 항상 0이 채워지므로 원래 표현식의 부호가 유지되지 않는다는 점을 제외하면 bitwise right shift(>>
) 연산자와 동일합니다.
부동 소수점 숫자는 소수점 뒤의 숫자를 제거하여 정수로 변환됩니다. 양의 정수는 최대값이 4294967295 또는 0xFFFFFFFF인 부호 없는 16진수 값으로 변환되고, 최대값보다 큰 값은 변환될 때 32비트 값을 유지하기 위해 최상위 자릿수를 버립니다. 음수는 2의 보수 표기를 사용하여 최소값이 -2147483648 또는 0x800000000인 부호 없는 16진수 값으로 변환되고, 최소값 미만의 숫자는 정밀도가 더 높은 2의 보수로 변환된 후 최상위 자릿수를 버립니다.
결과는 부호 없는 32비트 정수로 해석되므로 0에서 4294967295 범위의 정수가 됩니다.
참고: ActionScript에는 보완되는 "bitwise unsigned left shift" 연산자가 없지만 uint(expression << shiftCount)
를 사용하여 동일한 작업을 수행할 수 있습니다.
expression:Number —
오른쪽으로 이동할 숫자 또는 표현식입니다.
| |
shiftCount:Number —
0부터 31까지의 정수로 변환되는 숫자 또는 표현식입니다.
|
uint —
bitwise 연산의 결과입니다.
|
예제
예제 사용 방법
다음은 -1을 32비트 정수로 변환하고 오른쪽으로 1비트 이동하는 예제입니다.
var a:Number = -1 >>> 1; trace(a); // 2147483647
관련 API 요소
>>>= bitwise unsigned right shift and assignment | 연산자 |
|
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
부호 없는 bitwise right shift 연산을 수행하고 그 결과를 expression
에 저장합니다. 다음 두 명령문은 동일합니다.
A >>>= B; A = (A >>> B);피연산자
expression:Number —
오른쪽으로 이동할 숫자 또는 표현식입니다.
| |
shiftCount:Number —
0부터 31까지의 정수로 변환되는 숫자 또는 표현식입니다.
|
uint —
bitwise 연산의 결과입니다.
|
예제
예제 사용 방법
다음은 -1을 32비트 정수로 변환하고 오른쪽으로 1비트 이동하는 예제입니다.
var a:Number = -1; a >>>= 1; trace(a); // 2147483647
관련 API 요소
^ bitwise XOR | 연산자 |
|
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
expression1
및 expression2
를 32비트 부호 없는 정수로 변환하고, expression1
또는 expression2
중 하나의 해당 비트가 1인 각 비트 위치에 1을 배치합니다.
부동 소수점 숫자는 소수점 뒤의 숫자를 제거하여 정수로 변환됩니다. 양의 정수는 최대값이 4294967295 또는 0xFFFFFFFF인 부호 없는 16진수 값으로 변환되고, 최대값보다 큰 값은 변환될 때 32비트 값을 유지하기 위해 최상위 자릿수를 버립니다. 음수는 2의 보수 표기를 사용하여 최소값이 -2147483648 또는 0x800000000인 부호 없는 16진수 값으로 변환되고, 최소값 미만의 숫자는 정밀도가 더 높은 2의 보수로 변환된 후 최상위 자릿수를 버립니다.
결과는 32비트 2의 보수로 해석되므로 -2147483648에서 2147483647 범위의 정수가 됩니다.
피연산자expression1:Number —
숫자 또는 숫자로 평가되는 표현식입니다.
| |
expression2:Number —
숫자 또는 숫자로 평가되는 표현식입니다.
|
int —
bitwise 연산의 결과입니다.
|
예제
예제 사용 방법
다음 예제에서는 10진수 15와 9에 bitwise XOR 연산자를 사용하고 그 결과를
a
변수에 대입합니다.
// 15 decimal = 1111 binary // 9 decimal = 1001 binary var a:Number = 15 ^ 9; trace(a); // 1111 ^ 1001 = 0110 // returns 6 decimal (0110 binary)
관련 API 요소
^= bitwise XOR assignment | 연산자 |
|
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
expression1
에 expression1 ^ expression2
의 값을 대입합니다. 예를 들어, 다음 두 명령문은 동일합니다.
x ^= y x = x ^ y피연산자
expression1:Number —
숫자 또는 숫자로 평가되는 표현식입니다.
| |
expression2:Number —
숫자 또는 숫자로 평가되는 표현식입니다.
|
int —
bitwise 연산의 결과입니다.
|
예제
예제 사용 방법
다음 예제에서는 bitwise XOR assignment(^=) 연산을 보여 줍니다.
// 15 decimal = 1111 binary var a:Number = 15; // 9 decimal = 1001 binary var b:Number = 9; trace(a ^= b); // returns 6 decimal (0110 binary)
관련 API 요소
/*..*/ block comment delimiter | 연산자 |
/* comment */ /* comment comment */ |
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
한 줄 이상의 스크립트 주석을 구분합니다. 열기 기호(/*
)와 닫기 기호(*/
) 사이에 존재하는 문자는 주석으로 해석되며 ActionScript 컴파일러에서 무시됩니다. 이러한 기호를 사용하여 연속되는 여러 행으로 구성된 주석을 식별할 수 있으며, 한 줄 주석을 식별하려면 //
기호를 사용합니다.
닫기 블록 주석 기호(*/
)를 생략하거나 주석을 중첩하려고 시도하면 오류 메시지가 표시됩니다. 열기 기호(/*
)가 사용된 후 첫 번째 닫기 기호(*/
)가 나타나면 닫기 기호 이전까지 배치된 열기 기호의 수와 상관 없이 주석이 끝납니다.
comment:* —
모든 문자입니다.
|
예제
예제 사용 방법
다음 스크립트에서는 스크립트 시작 부분에 블록 주석 기호를 사용합니다.
/* 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 */
관련 API 요소
{ } braces (XML) | 연산자 |
myXML = <{tagName} {attributeName} = {attributeValue}>{content}{tagName}> |
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
XML 또는 XMLList 이니셜라이저에 사용된 표현식을 평가합니다. XML 또는 XMLList 이니셜라이저는 XML 또는 XMLList 유형의 변수에 대입된 리터럴 값입니다. XML {
및 }
연산자로 구분된 표현식은 XML 또는 XMLList 이니셜라이저에서 리터럴 이름 또는 값 대신 사용될 수 있습니다. 표현식은 tagName
, attributeName
, attributeValue
및 content
대신 사용될 수 있습니다.
myXML:* —
XML 또는 XMLList 객체입니다.
| |
tagName:* —
XML 태그 이름으로 평가되는 표현식입니다.
| |
attributeName:* —
XML 특성 이름으로 평가되는 표현식입니다.
| |
attributeValue:* —
XML 특성 값으로 평가되는 표현식입니다.
| |
content:* —
XML 태그의 내용으로 평가되는 표현식입니다.
|
예제
예제 사용 방법
다음 예제에서는 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>
관련 API 요소
[ ] brackets (XML) | 연산자 |
myXML[expression] |
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
XML 또는 XMLList 객체의 속성 또는 특성에 액세스합니다. brackets 연산자를 사용하면 dot(.
) 연산자로 액세스할 수 없는 속성 이름에 액세스할 수 있습니다.
myXML:* —
XML 또는 XMLList 객체입니다.
| |
expression:* —
XML 태그 또는 특성의 이름으로 평가되는 표현식입니다.
|
예제
예제 사용 방법
다음 예제에서는 태그 이름의 하이픈 때문에 dot 연산자로는 액세스할 수 없는 XML 속성에
[
및 ]
연산자를 사용하여 액세스하는 방법을 보여 줍니다.
var myXML:XML = <a><foo-bar>44</foo-bar></a>; trace(myXML["foo-bar"]);
관련 API 요소
, comma | 연산자 |
|
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
expression1
, expression2
등의 순서대로 평가합니다. 이 연산자는 주로 for
루프 명령문과 함께 사용되거나 parentheses ()
연산자와 함께 사용됩니다.
expression1:* —
평가할 표현식입니다.
| |
expression2:* —
평가할 표현식입니다.
| |
expressionN:* —
추가로 평가할 표현식의 수입니다.
|
Object —
평가된 표현식의 값입니다.
|
예제
예제 사용 방법
다음 예제에서는
for
루프에서 comma(,
) 연산자를 사용합니다.
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
는 assignment(=) 연산자가 comma 연산자보다 우선 순위가 높기 때문에 v
변수에 대입됩니다. 두 번째 표현식 z++
가 평가되고 z
가 1만큼 증가됩니다.
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
관련 API 요소
+ concatenation | 연산자 |
|
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
문자열을 연결 또는 결합합니다. 한 표현식이 문자열이면 다른 표현식도 모두 문자열로 변환된 후 연결됩니다.
두 표현식이 모두 숫자이면 이 연산자는 addition 연산자로 동작합니다.
피연산자expression1:String —
연결할 문자열입니다.
| |
expression2:String —
연결할 문자열입니다.
|
String —
연결된 문자열입니다.
|
예제
예제 사용 방법
다음 예제에서는 두 문자열을 연결합니다.
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
관련 API 요소
+ concatenation (XMLList) | 연산자 |
expression1 + expression2 |
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
XML 또는 XMLList 값을 XMLList 객체로 연결(결합)합니다. 두 피연산자가 모두 XML 또는 XMLList 값인 경우에만 XMLList 객체가 반환됩니다.
피연산자expression1:* —
XML 또는 XMLList 값입니다.
| |
expression2:* —
XML 또는 XMLList 값입니다.
|
XMLList —
연결된 XMLList 객체입니다.
|
예제
예제 사용 방법
다음 예제에서는 XMLList(
+
)(concatenation) 연산자를 사용하는 방법을 보여 줍니다.
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());
trace
문은 다음과 같은 출력을 생성합니다.
<employee id = "42">
<firstName>Joe</firstName>
<lastName>Smith</lastName>
</employee>
<employee id = "43">
<firstName>Susan</firstName>
<lastName>Jones</lastName>
</employee>
관련 API 요소
+= concatenation assignment | 연산자 |
|
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
expression1
에 expression1 + expression2
의 값을 대입합니다. 예를 들어, 다음 두 명령문의 결과는 동일합니다.
x += y; x = x + y;concatenation(
+
) 연산자의 모든 규칙은 concatenation assignment(+=
) 연산자에 적용됩니다. someTextField.text += moreText
처럼 TextField
의 text
속성에 연결 대입을 사용하는 것은 TextField.appendText()
에 비해 훨씬 효율성이 떨어집니다. 특히 많은 내용이 포함된 TextField
의 경우 효율성에서 큰 차이가 납니다.
피연산자expression1:String —
문자열입니다.
| |
expression2:String —
문자열입니다.
|
Number —
연결의 결과입니다.
|
예제
예제 사용 방법
이 예제에서는
+=
연산자를 문자열 표현식과 함께 사용합니다.
var x1:String = "My name is "; x1 += "Gilbert"; trace(x1); // My name is Gilbert
관련 API 요소
+= concatenation assignment (XMLList) | 연산자 |
expression1 += expression2 |
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
expression1
에 XMLList 객체인 expression1 + expression2
의 값을 대입합니다. 예를 들어, 다음 두 명령문의 결과는 동일합니다.
x += y; x = x + y;XMLList concatenation(
+
) 연산자의 모든 규칙은 XMLList concatenation assignment(+=
) 연산자에 적용됩니다.
피연산자expression1:XMLList —
새 값을 추가하려는 XMLList 객체입니다.
| |
expression2:* —
XML 또는 XMLList 값입니다.
|
예제
예제 사용 방법
다음 예제에서는 XMLList concatenation assignment(
+=
) 연산자를 사용하는 방법을 보여 줍니다.
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());
trace
문은 다음과 같은 출력을 생성합니다.
<location>Athens</location>
<location>Paris</location>
<location>Springfield</location>
관련 API 요소
?: conditional | 연산자 |
expression1 ? expression2 : expression3 |
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
expression1
을 평가하여 expression1
의 값이 true
이면 결과는 expression2
의 값이고, 그렇지 않으면 결과는 expression3
의 값입니다.
expression1:Boolean —
부울 값으로 평가되는 표현식이며 주로 x < 5 와 같은 비교 표현식입니다.
| |
expression2:* —
모든 유형의 값입니다.
| |
expression3:* —
모든 유형의 값입니다.
|
* —
expression2 또는 expression3 의 값입니다.
|
예제
예제 사용 방법
다음 명령문은 첫 번째 표현식이
true
로 평가되므로 x
변수의 값을 z
변수에 대입합니다.
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 | 연산자 |
--expression expression-- |
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
피연산자에서 1을 뺍니다. 피연산자는 변수, 배열 요소 또는 객체의 속성이 될 수 있습니다. 선행 감소 형식의 연산자(--expression
)는 expression
에서 1을 뺀 후 그 결과를 반환합니다. 후행 감소 형식의 연산자(expression--
)는 expression
에서 1을 뺀 후 expression
의 초기값(빼기 이전의 값)을 반환합니다.
expression:Number —
숫자 또는 숫자로 평가되는 변수입니다.
|
Number —
감소된 값의 결과입니다.
|
예제
예제 사용 방법
선행 감소 형식의 연산자는
x
를 2로 감소시키고(x
- 1 = 2
) 그 결과값을 y
로 반환합니다.
var x:Number = 3; var y:Number = --x; // y is equal to 2
x
를 2로 감소시키고(x
- 1 = 2
) x
의 초기값을 결과값 y
로 반환합니다.
var x:Number = 3; var y:Number = x--; // y is equal to 3
i
는 1씩 감소합니다.
for (var i = 10; i > 0; i--) { trace(i); }
delete | 연산자 |
delete reference |
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
reference
에 지정된 객체 속성을 삭제한 후 속성이 존재하지 않으면 결과가 true
이고, 그렇지 않으면 false
입니다. 존재하지 않는 속성이나 클래스에 정의되지 않은 동적 속성에 대해 delete
연산자를 호출하면 true
가 반환됩니다.
reference
매개 변수를 삭제할 수 없으면 delete
연산자가 실패하여 false
가 반환될 수 있습니다. var
문을 통해 선언된 고정된 속성 또는 변수는 삭제할 수 없습니다. 고정된 속성은 클래스 정의에 정의된 변수 또는 메서드입니다.
런타임에 추가된 동적 클래스가 아닌 경우 해당 클래스의 속성을 삭제하는 데 delete
연산자를 사용할 수 없습니다. 봉인 클래스의 속성은 delete
연산자를 사용하여 삭제할 수 없습니다. 대신 속성을 null
로 설정하십시오.
참고: 객체를 삭제할 수는 없지만 객체에 대한 모든 참조를 제거하면 객체를 가비지 수집에 사용할 수 있게 됩니다. 객체에 대한 가장 일반적인 참조는 객체를 가리키는 변수입니다. 변수를 null
로 설정하여 이러한 참조를 제거할 수 있습니다. 가비지 수집기는 참조가 없는 모든 객체를 제거합니다.
reference:* —
제거할 속성의 이름입니다.
|
Boolean —
삭제에 성공하면 true 이고, 실패하면 false 입니다.
|
예제
예제 사용 방법
다음 예제에서는 객체의 속성을 삭제합니다.
// 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
다음 예제는 배열 요소의 값을 삭제하지만 length
속성 값은 변경되지 않습니다.
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,
다음 예제에서는 delete
에서 반환된 부울 값을 이후 코드의 실행 여부를 결정하는 조건으로 사용하는 방법을 보여 줍니다. 항목이 이미 삭제된 상태에서 해당 항목에 대해 delete
를 다시 호출하면 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
관련 API 요소
delete (XML) | 연산자 |
delete reference |
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
reference
로 지정된 XML 요소 또는 특성을 삭제합니다.
reference:XMLList —
삭제할 XML 요소 또는 특성을 지정하는 XMLList 객체입니다.
|
Boolean —
항상 true 값을 반환합니다. XMLList 피연산자는 항상 유효한(비어 있을 수도 있음) XMLList 객체를 참조하므로 결과는 항상 true 입니다.
|
예제
예제 사용 방법
다음 예제에서는 특성을 삭제하고, 단일 요소를 삭제한 다음 여러 요소를 삭제하는 방법을 보여 줍니다.
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());
출력은 다음과 같습니다.
<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>
다음 예제에서는 요소 자체는 삭제하지 않고 특성 및 자식 요소를 포함한 요소의 모든 내용을 삭제하는 방법을 보여 줍니다.
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);
이 예제의 출력은 다음과 같습니다.
<order>
<tem id="121">hamburger</item>
<item/>
<item id="123">chocolate shake</item>
</order>
.. descendant accessor | 연산자 |
myXML..childElement1..@attributeName |
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
XML 또는 XMLList 객체의 자손 요소로 이동하거나 @ 연산자와 결합된 경우 자손의 일치하는 특성을 찾습니다. 일치하는 요소 또는 특성은 XML 또는 XMLList 객체의 바로 아래에 있는 자식이 아니어도 되며 트리에서 더 아래에 있을 수도 있습니다. XMLList 객체는 두 개 이상의 자식 요소 또는 특성이 일치할 수 있기 때문에 이 객체가 결과가 됩니다.
반환된 XMLList 객체의 노드 순서는 심도 우선 탐색의 결과입니다. 예를 들어 다음과 같은 경우를 가정합니다.
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());
다음 출력이 결과가 됩니다.
<b>
one
<c>
<b>two</b>
</c>
</b>
______________
<b>two</b>
______________
<b>three</b>
이름이 ActionScript 예약어와 일치하는 자손을 반환하려면 다음 예제와 같이 descendant(..) 연산자 대신 XML.descendants()
메서드를 사용합니다.
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 —
XML 또는 XMLList 객체입니다.
| |
childElement1_or_attributeName —
XML 속성의 이름 또는 특성의 이름입니다.
|
예제
예제 사용 방법
다음 예제에서는 descendant accessor(..) 연산자를 사용하여 XML 객체의 자손 요소를 반환하거나 요소의 특성을 반환하는 방법을 보여 줍니다.
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
관련 API 요소
/ division | 연산자 |
|
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
expression1
을 expression2
로 나눕니다. 나누기 연산의 결과는 배정밀도 부동 소수점 숫자입니다.
expression:Number —
숫자 또는 숫자로 평가되는 변수입니다.
|
Number —
연산의 부동 소수점 결과입니다.
|
예제
예제 사용 방법
다음 예제에서는 피제수가 양수, 음수 또는 0일 때 0으로 나눈 결과가 다르다는 것을 보여 줍니다.
trace(3/0); // Infinity trace(-3/0); // -Infinity trace(0/0); // NaN
관련 API 요소
/= division assignment | 연산자 |
|
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
expression1
에 expression1 / expression2
의 값을 대입합니다. 예를 들어, 다음 두 명령문은 동일합니다.
x /= y; x = x / y;피연산자
expression1:Number —
숫자 또는 숫자로 평가되는 변수입니다.
| |
expression2:Number —
숫자 또는 숫자로 평가되는 변수입니다.
|
Number —
숫자입니다.
|
예제
예제 사용 방법
다음 코드는 division assignment(
/=
) 연산자를 변수 및 숫자와 함께 사용하는 경우를 보여 줍니다.
var a:Number = 10; var b:Number = 2; a /= b; trace(a); // 5
관련 API 요소
. dot | 연산자 |
object.property_or_method |
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
클래스 변수 및 메서드에 액세스하고, 객체 속성을 가져오고 설정하며, 가져온 패키지 또는 클래스를 구분합니다.
피연산자object:Object —
클래스의 인스턴스입니다. 이 객체는 내장 ActionScript 클래스나 사용자 정의 클래스의 인스턴스입니다. 이 피연산자는 항상 dot(.) 연산자의 왼쪽에 옵니다.
| |
property_or_method:* —
객체와 관련된 속성 또는 메서드의 이름입니다. 내장 클래스에 사용 가능한 모든 메서드와 속성은 해당 클래스의 메서드 및 속성 요약 표에 나열되어 있습니다. 이 피연산자는 언제나 dot(.) 연산자의 오른쪽에 사용됩니다.
|
* —
dot 연산자의 오른쪽에 명명된 변수, 메서드 또는 속성입니다.
|
예제
예제 사용 방법
다음 예제에서는 dot 연산자를 구분 기호로 사용하여 Timer 클래스를 가져옵니다.
import flash.utils.Timer;
var obj:Object = new Object(); obj.propertyA = "hello"; trace(obj.propertyA); // hello
관련 API 요소
. dot (XML) | 연산자 |
myXML.childElement myXML.@attributeName |
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
XML 또는 XMLList 객체의 자식 요소로 이동하거나 @ 연산자와 결합된 경우 XML 또는 XMLList 객체의 특성을 반환합니다. XMLList 객체는 두 개 이상의 자식 요소 또는 특성이 일치할 수 있기 때문에 이 객체가 반환됩니다.
이름이 ActionScript 예약어와 일치하는 요소를 반환하려면 다음 예제와 같이 XML dot(.) 연산자 대신 XML.elements()
또는 XML.descendants()
메서드를 사용합니다.
var xml:XML = <student id="206"> <class name="Trigonometry" /> <class name="Spanish 2" /> </student>; trace(xml.elements("class")); trace(xml.descendants("class"));
myXML:Object —
XML 또는 XMLList 객체입니다.
| |
childElement:* —
XML 속성의 이름입니다.
| |
attributeName:* —
특성의 이름입니다.
|
XMLList —
지정된 XMLList입니다.
|
예제
예제 사용 방법
다음 예제에서는 dot(.) 연산자를 사용하여 XML 객체의 자식 요소를 반환하거나 요소의 특성을 반환하는 방법을 보여 줍니다.
var myXML:XML = <employee id = "42"> <firstName>Billy</firstName> <lastName>Einstein</lastName> </employee>; trace(myXML.firstName); // Billy trace(myXML.@id); // 42
관련 API 요소
== equality | 연산자 |
|
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
두 표현식이 동일한지 여부를 테스트합니다. 두 표현식이 동일한 경우 결과는 true
입니다.
두 피연산자의 데이터 유형이 일치할 경우 동일함에 대한 정의는 피연산자의 데이터 유형에 따라 다릅니다.
- int, uint 및 Boolean 유형의 값이 동일한 값을 갖고 있는 경우 서로 동일한 것으로 간주됩니다.
NaN
이외의 일치하는 값을 갖고 있는 숫자의 경우 서로 동일한 것으로 간주됩니다.- 두 피연산자의 값이
null
또는undefined
인 경우 서로 동일한 것으로 간주됩니다. - 문자열 표현식은 문자가 동일하고 문자 수도 같은 경우 서로 동일한 것으로 간주됩니다.
- XML 객체의 경우:
- 텍스트 또는 특성 노드인 피연산자와 간단한 내용을 갖고 있는 피연산자가 있는 경우
toString()
메서드를 사용하여 두 피연산자를 문자열로 변환한 다음 결과 문자열이 일치하면 두 피연산자는 동일한 것으로 간주됩니다. - 그렇지 않은 경우에는 두 객체의 정규화된 이름, 특성 및 자식 속성이 일치하는 경우에만 서로 동일한 것으로 간주됩니다.
- 텍스트 또는 특성 노드인 피연산자와 간단한 내용을 갖고 있는 피연산자가 있는 경우
- XMLList 객체는 속성의 수가 같고 속성의 순서 및 값이 모두 일치하는 경우 서로 동일한 것으로 간주됩니다.
- Namespace 객체의 경우, 두 객체의
uri
속성이 일치하면 값이 동일한 것으로 간주됩니다. - QName 객체의 경우, 두 객체의
uri
속성 및localName
속성이 모두 일치하면 값이 동일한 것으로 간주됩니다. - 객체, 배열 및 함수를 나타내는 변수는 참조를 기준으로 비교됩니다. 이러한 두 변수는 동일한 객체, 배열 또는 함수를 참조하는 경우 서로 동일한 것으로 간주됩니다. 별도의 두 배열은 포함된 요소의 수가 같더라도 동일한 것으로 간주되지 않습니다.
false
입니다.
- 피연산자의 값이
undefined
및null
인 경우 결과는true
입니다. - 자동 데이터 유형 변환이 String, Boolean, int, uint 및 Number 값을 호환되는 유형으로 변환하며, 변환된 값이 서로 동일하면 피연산자는 서로 동일한 것으로 간주됩니다.
- 피연산자 중 하나가 간단한 내용(
hasSimpleContent() == true
)을 가진 XML 유형이고,toString()
메서드를 사용하여 두 피연산자를 문자열로 변환한 후 결과 문자열이 일치합니다. - 피연산자 중 하나의 유형이 XMLList이고 다음 조건 중 하나가 true인 경우:
- XMLList 객체의
length
속성이 0이고 다른 객체가undefined
입니다. - XMLList 객체의
length
속성이 1이고 XMLList 객체의 한 요소가 다른 피연산자와 일치합니다.
- XMLList 객체의
expression1:Object —
숫자, 문자열, 부울 값, 변수, 객체, 배열 또는 표현식입니다.
| |
expression2:Object —
숫자, 문자열, 부울 값, 변수, 객체, 배열 또는 표현식입니다.
|
Boolean —
표현식이 동일하면 true 이고, 그렇지 않으면 false 입니다.
|
예제
예제 사용 방법
다음 예제에서는 equality(
==
) 연산자를 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
는 1로 변환되고, false
는 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
를 반환합니다. 두 배열이 서로 같은 것처럼 보이지만 참조를 기준으로 비교할 때는 firstArray
및 secondArray
가 동일한 배열을 참조해야 합니다. 두 번째 예제에서는 thirdArray
변수가 만들어지고, 이 변수는 firstArray
와 같은 배열을 가리킵니다. 두 배열이 서로 동일한 배열을 참조하기 때문에 equality 연산자는 이들 두 배열에 대해 true를 반환합니다.
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
관련 API 요소
> greater than | 연산자 |
|
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
두 표현식을 비교하여 expression1
이 expression2
보다 큰지 여부를 확인합니다. 큰 경우 결과는 true
입니다. expression1
이 expression2
보다 작거나 같으면 결과는 false
입니다.
피연산자의 유형이 모두 문자열인 경우 피연산자는 알파벳 순서로 비교되며, 소문자보다 대문자가 앞에 옵니다. 그렇지 않은 경우에는 피연산자가 숫자로 변환된 후 비교됩니다.
피연산자expression1:Object —
문자열, 정수 또는 부동 소수점 숫자입니다.
| |
expression2:Object —
문자열, 정수 또는 부동 소수점 숫자입니다.
|
Boolean —
expression1 이 expression2 보다 크면 true 값이 반환되고 그렇지 않으면 false 값이 반환됩니다.
|
예제
예제 사용 방법
다음 예제에서는 문자열이 알파벳 순서로 비교되고, 소문자보다 대문자가 앞에 온다는 것을 보여 줍니다.
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 | 연산자 |
|
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
두 표현식을 비교하여 expression1
이 expression2
보다 크거나 같은지(true
) 또는 expression1
이 expression2
보다 작은지(false
) 확인합니다.
expression1:Object —
문자열, 정수 또는 부동 소수점 숫자입니다.
| |
expression2:Object —
문자열, 정수 또는 부동 소수점 숫자입니다.
|
Boolean —
expression1 이 expression2 보다 크거나 같으면 true 값이 반환되고 그렇지 않으면 false 값이 반환됩니다.
|
예제
예제 사용 방법
다음 예제에서는 greater than or equal to(>=) 연산자를 사용하여 현재 시간이 12보다 크거나 같은지 여부를 확인합니다.
if (new Date().getHours() >= 12) { trace("good afternoon"); } else { trace("good morning"); }
관련 API 요소
in | 연산자 |
|
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
속성이 특정 객체에 속하는지 여부를 평가합니다. in
연산자를 사용하려면 속성 이름을 첫 번째 피연산자로 지정하고, 객체를 두 번째 피연산자로 지정합니다. 지정한 객체에 그러한 속성이 들어 있으면 결과가 true
이고, 그렇지 않으면 false
입니다.
지정된 객체가 Array 객체이면 in
연산자를 사용해서 특정 인덱스 번호가 유효한지 여부를 확인할 수 있습니다. 정수를 첫 번째 피연산자로 전달한 경우 색인이 유효한 색인 번호 범위 내에 있으면 결과가 true
이고, 그렇지 않으면 false
입니다.
Boolean —
expression1 이 expression2 가 나타내는 객체의 속성이면 true 이고, 그렇지 않으면 false 입니다.
|
예제
예제 사용 방법
다음 예제에서는
in
연산자를 사용하여 PI
는 Math 객체의 속성이고 myProperty
는 그렇지 않음을 보여 줍니다.
trace("PI" in Math); // true trace("myProperty" in Math); // false
다음 예제에서는 in
연산자를 사용하여 myArray
객체에서 숫자 0, 1 및 2는 유효한 색인 번호이지만 숫자 3은 유효하지 않음을 보여 줍니다.
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
관련 API 요소
++ increment | 연산자 |
++expression expression++ |
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
표현식에 1을 더합니다. 표현식은 변수, 배열 요소 또는 객체의 속성일 수 있습니다. 선행 증가 형식의 연산자(++expression
)는 expression
에 1을 더한 후 그 결과를 반환합니다. 후행 증가 형식의 연산자(expression++
)는 expression
에 1을 더한 후 expression
의 초기값(더하기 이전의 값)을 반환합니다.
expression:Number —
숫자 또는 숫자로 평가되는 변수입니다.
|
Number —
증가의 결과입니다.
|
예제
예제 사용 방법
다음 예제에서는
while
루프 내에서 ++를 선행 증가 연산자로 사용하여 배열에 추가되는 값이 증가된 값임을 보여 줍니다.
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
루프 내에서 ++를 후행 증가 연산자로 사용하여 배열에 추가되는 값이 초기값임을 보여 줍니다.
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
루프를 다섯 번 실행합니다.
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 | 연산자 |
|
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
equality(==
) 연산자의 정반대 상황을 테스트합니다. expression1
이 expression2
와 같으면 결과는 false
입니다. equality(==
) 연산자와 마찬가지로 동일함에 대한 정의는 비교되는 데이터의 유형에 따라 다릅니다.
두 피연산자의 데이터 유형이 일치할 경우 동일함에 대한 정의는 피연산자의 데이터 유형에 따라 다릅니다.
- int, uint 및 Boolean 유형의 값이 동일한 값을 갖고 있는 경우 서로 동일한 것으로 간주됩니다.
NaN
이외의 일치하는 값을 갖고 있는 숫자의 경우 서로 동일한 것으로 간주됩니다.- 두 피연산자의 값이
null
또는undefined
인 경우 서로 동일한 것으로 간주됩니다. - 문자열 표현식은 문자가 동일하고 문자 수도 같은 경우 서로 동일한 것으로 간주됩니다.
- XML 객체의 경우:
- 텍스트 또는 특성 노드인 피연산자와 간단한 내용을 갖고 있는 피연산자가 있는 경우
toString()
메서드를 사용하여 두 피연산자를 문자열로 변환한 다음 결과 문자열이 일치하면 두 피연산자는 동일한 것으로 간주됩니다. - 그렇지 않은 경우에는 두 객체의 정규화된 이름, 특성 및 자식 속성이 일치하는 경우에만 서로 동일한 것으로 간주됩니다.
- 텍스트 또는 특성 노드인 피연산자와 간단한 내용을 갖고 있는 피연산자가 있는 경우
- XMLList 객체는 속성의 수가 같고 속성의 순서 및 값이 모두 일치하는 경우 서로 동일한 것으로 간주됩니다.
- Namespace 객체의 경우, 두 객체의
uri
속성이 일치하면 값이 동일한 것으로 간주됩니다. - QName 객체의 경우, 두 객체의
uri
속성 및localName
속성이 모두 일치하면 값이 동일한 것으로 간주됩니다. - 객체, 배열 및 함수를 나타내는 변수는 참조를 기준으로 비교됩니다. 이러한 두 변수는 동일한 객체, 배열 또는 함수를 참조하는 경우 서로 동일한 것으로 간주됩니다. 별도의 두 배열은 포함된 요소의 수가 같더라도 동일한 것으로 간주되지 않습니다.
!=
))는 true
를 반환합니다.
- 피연산자의 값이
undefined
및null
인 경우 결과는true
입니다. - 자동 데이터 유형 변환이 String, Boolean, int, uint 및 Number 값을 호환되는 유형으로 변환하며, 변환된 값이 서로 동일하면 피연산자는 서로 동일한 것으로 간주됩니다.
- 피연산자 중 하나가 간단한 내용(
hasSimpleContent() == true
)을 가진 XML 유형이고,toString()
메서드를 사용하여 두 피연산자를 문자열로 변환한 후 결과 문자열이 일치합니다. - 피연산자 중 하나의 유형이 XMLList이고 다음 조건 중 하나가 true인 경우:
- XMLList 객체의
length
속성이 0이고 다른 객체가undefined
입니다. - XMLList 객체의
length
속성이 1이고 XMLList 객체의 한 요소가 다른 피연산자와 일치합니다.
- XMLList 객체의
expression1:Object —
숫자, 문자열, 부울 값, 변수, 객체, 배열 또는 함수입니다.
| |
expression2:Object —
숫자, 문자열, 부울 값, 변수, 객체, 배열 또는 함수입니다.
|
Boolean —
표현식이 동일하지 않으면 true 이고, 그렇지 않으면 false 입니다.
|
예제
예제 사용 방법
다음 예제에서는 inequality(
!=
) 연산자의 결과를 보여 줍니다.
trace(5 != 8); // true trace(5 != 5); // false
!=
) 연산자를 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
관련 API 요소
instanceof | 연산자 |
|
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
표현식의 프로토타입 체인에 function
에 대한 프로토타입 객체가 포함되어 있는지 여부를 평가합니다. instanceof
연산자는 ECMAScript 버전 3과의 하위 호환성을 위해 포함되었으며, 클래스 대신 생성자 함수를 통한 프로토타입 기반 상속을 사용하려는 고급 프로그래머에게 유용할 수 있습니다.
객체가 특정 데이터 유형의 멤버인지 확인하려면 is
연산자를 사용합니다.
클래스의 프로토타입 체인에는 수퍼 클래스가 모두 포함되므로 instanceof
연산자를 클래스와 함께 사용하면 is
연산자와 유사하게 작동합니다. 그러나 인터페이스는 프로토타입 체인에 포함되지 않으므로 인터페이스와 함께 instanceof
연산자를 사용하면 항상 false
가 반환됩니다. 반면에 지정된 인터페이스를 구현한 클래스에 속하는 객체와 함께 is
연산자를 사용하면 true
가 반환됩니다.
참고: ActionScript is
연산자는 Java instanceof
연산자와 같습니다.
expression:Object —
평가할 프로토타입 체인이 들어 있는 객체입니다.
| |
function:Object —
함수 객체(또는 클래스)입니다.
|
Boolean —
expression 의 프로토타입 체인에 function 에 대한 프로토타입 객체가 들어 있으면 true 를 반환하고, 그렇지 않으면 false 를 반환합니다.
|
예제
예제 사용 방법
다음 예제에서는
mySprite
라는 Sprite 클래스 인스턴스를 만들고 instanceof
연산자를 사용하여 mySprite
의 프로토타입 체인에 Sprite 및 DisplayObject 클래스의 프로토타입 객체가 들어 있는지 테스트합니다. Sprite 및 DisplayObject의 프로토타입 객체가 mySprite
의 프로토타입 체인상에 있으므로 Sprite 클래스 및 DisplayObject 클래스와 함께 사용하는 경우 true
가 반환됩니다.
var mySprite:Sprite = new Sprite(); trace(mySprite instanceof Sprite); // true trace(mySprite instanceof DisplayObject); // true
instanceof
연산자가 인터페이스와 함께 작동하지 않음을 보여 줍니다. Sprite 클래스의 수퍼 클래스인 DisplayObject 클래스에서 IBitmapDrawable 인터페이스를 구현하므로 is
연산자에서 true
를 반환합니다.
var mySprite:Sprite = new Sprite(); trace(mySprite instanceof IBitmapDrawable); // false trace(mySprite is IBitmapDrawable); // true
관련 API 요소
is | 연산자 |
|
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
객체가 특정 데이터 유형, 클래스 또는 인터페이스와 호환되는지 여부를 평가합니다. 유형 비교에는 instanceof
연산자 대신 is
연산자를 사용합니다. 또한 is
연산자를 사용하여 객체가 인터페이스를 구현하는지 여부를 확인할 수 있습니다.
Boolean —
expression1 이 expression2 에 지정된 데이터 유형, 클래스 또는 인터페이스와 호환되면 true 이고, 그렇지 않으면 false 입니다.
|
예제
예제 사용 방법
다음 예제에서는
mySprite
라는 Sprite 클래스의 인스턴스를 만들고 is
연산자를 사용하여 mySprite
가 Sprite와 DisplayObject 클래스의 인스턴스인지 및 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
관련 API 요소
< less than | 연산자 |
|
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
두 표현식을 비교하여 expression1
이 expression2
보다 작은지 여부를 확인합니다. 작은 경우 결과는 true
입니다. expression1
이 expression2
보다 크거나 같으면 결과는 false
입니다.
피연산자의 유형이 모두 문자열인 경우 피연산자는 알파벳 순서로 비교되며, 소문자보다 대문자가 앞에 옵니다. 그렇지 않은 경우에는 피연산자가 숫자로 변환된 후 비교됩니다.
피연산자expression1:Object —
문자열, 정수 또는 부동 소수점 숫자입니다.
| |
expression2:Object —
문자열, 정수 또는 부동 소수점 숫자입니다.
|
Boolean —
expression1 이 expression2 보다 작으면 true 값이 반환되고 그렇지 않으면 false 값이 반환됩니다.
|
예제
예제 사용 방법
다음 예제에서는 숫자 비교 및 문자열 비교에 대한
true
및 false
결과를 보여 줍니다.
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 | 연산자 |
|
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
두 표현식을 비교하여 expression1
이 expression2
보다 작거나 같은지를 확인합니다. 작거나 같은 경우 결과는 true
입니다. expression1
이 expression2
보다 크면 결과는 false
입니다.
피연산자의 유형이 모두 문자열인 경우 피연산자는 알파벳 순서로 비교되며, 소문자보다 대문자가 앞에 옵니다. 그렇지 않은 경우에는 피연산자가 숫자로 변환된 후 비교됩니다.
피연산자expression1:Object —
문자열, 정수 또는 부동 소수점 숫자입니다.
| |
expression2:Object —
문자열, 정수 또는 부동 소수점 숫자입니다.
|
Boolean —
expression1 이 expression2 보다 작거나 같으면 true 값이 반환되고 그렇지 않으면 false 값이 반환됩니다.
|
예제
예제 사용 방법
다음 예제에서는 숫자 비교 및 문자열 비교에 대한
true
및 false
결과를 보여 줍니다.
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 | 연산자 |
|
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
스크립트 주석의 시작을 나타냅니다. 주석 기호(//
)와 행의 끝 문자 사이에 있는 문자는 주석으로 해석되며 무시됩니다. 이 기호는 한 줄 주석에 사용합니다. 연속되는 여러 행을 주석 처리할 경우 구분 기호로 /*
및 */
를 사용합니다.
comment:* —
모든 문자입니다.
|
예제
예제 사용 방법
다음은 한 줄 주석을 보여 주는 예제입니다.
// Any text following a line comment delimiter is ignored during compilation
관련 API 요소
&& logical AND | 연산자 |
|
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
false
이거나 false
로 변환될 수 있으면 expression1
을 반환하고, 그렇지 않으면 expression2
를 반환합니다. 0, NaN
, null
, undefined
등이 false
로 변환될 수 있는 값입니다. 함수 호출을 expression2
로 사용하는 경우 expression1
이 false
로 평가되면 함수가 호출되지 않습니다.
다음 표와 같이 두 피연산자의 유형이 모두 부울이면 두 피연산자가 모두 true
인 경우에만 결과가 true
가 됩니다.
표현식 | 평가 결과 |
---|---|
|
|
|
|
|
|
|
|
expression1:* —
모든 유형의 값 또는 표현식입니다.
| |
expression2:* —
모든 유형의 표현식 값입니다.
|
* —
두 피연산자의 유형이 모두 부울이면 부울 값입니다. 그렇지 않으면 결과는 표현식 중 하나의 값입니다.
|
예제
예제 사용 방법
다음은 플레이어가 게임에서 이겼는지 여부를 확인하는 테스트를 수행하기 위해 logical AND(
&&
) 연산자를 사용하는 예제입니다. 게임하는 동안 플레이어 차례가 되거나 플레이어가 점수를 올리는 경우 turns
변수 및 score
변수가 업데이트됩니다. 플레이어가 최대 3번의 기회를 사용하는 동안 75점 이상을 득점하면 "You Win the Game!"이라는 메시지가 표시됩니다.
var turns:Number = 2; var score:Number = 77; if ((turns <= 3) && (score >= 75)) { trace("You Win the Game!"); } else { trace("Try Again!"); }
관련 API 요소
&&= logical AND assignment | 연산자 |
|
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
expression1
에 expression1 && expression2
의 값을 대입합니다. 예를 들어, 다음 두 명령문은 동일합니다.
x &&= y; x = x && y;피연산자
expression1:* —
모든 유형의 값입니다.
| |
expression2:* —
모든 유형의 값입니다.
|
* —
두 피연산자가 Boolean 데이터 유형의 멤버이면 부울 값입니다. 그렇지 않으면 두 표현식 중 하나의 값이 결과가 됩니다.
|
예제
예제 사용 방법
다음 예제는
myVar
변수를 XML 태그로 변경합니다(단, myVar
가 null인 경우 제외). 이 예제는 myVar
변수가 false
로 평가되지 않는 한 해당 변수를 수정합니다. 이 방법은 logical AND(&&
) 연산자가 expression1
이 false
로 평가되면 expression1
의 값을 반환하고 그렇지 않으면 expression2
의 값을 반환한다는 점을 이용한 것입니다. myVar
에 이미 true
로 평가되는 값이 포함된 경우 myVar
는 XML 태그와 비슷하게 수정됩니다. 하지만 myVar
에 null
, ""
(빈 문자열), undefined
값과 같이 false
로 평가되는 값이 있을 경우 myVar
는 변경되지 않습니다.
var myVar:String = 'tag'; myVar &&= "<" + myVar + "/>"; trace (myVar); // output: <tag/>
if
문을 사용하여도 동일한 효과를 얻을 수 있습니다.
var myVar:String = 'tag'; if (myVar != '') { myVar = "<" + myVar + "/>"; } trace (myVar); // output: <tag/>
if
문을 사용할 경우의 이점은 코드가 더 읽기 쉬워진다는 것입니다. 한편, logical AND assignment(&&=
) 연산자를 사용하면 주어진 데이터 유형에 대한 정확한 기본 값을 지정할 필요가 없다는 이점이 있습니다.
관련 API 요소
! logical NOT | 연산자 |
|
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
변수 또는 표현식의 부울 값을 반대로 합니다. expression
이 절대값 또는 변환된 값 true
가 포함된 변수이면 !expression
값은 false
입니다. x && y
표현식이 false
로 평가되면 !(x && y)
표현식은 true
로 평가됩니다.
다음 표현식은 logical NOT(!) 연산자를 사용한 결과를 보여 줍니다.
!true
는false
를 반환합니다.!false
는true
를 반환합니다.
expression:Boolean —
부울 값으로 평가되는 표현식 또는 변수입니다.
|
Boolean —
논리 연산의 부울 결과입니다.
|
예제
예제 사용 방법
다음 예제에서
happy
변수는 false
로 설정됩니다. if
조건이 !happy
조건을 평가하고, 조건이 true
이면 trace()
문에서 문자열이 출력됩니다.
var happy:Boolean = false; if (!happy) { trace("don't worry, be happy"); // don't worry, be happy }
!false
는 true
와 같기 때문에 trace
문이 실행됩니다.
관련 API 요소
|| logical OR | 연산자 |
|
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
true
이거나 true
로 변환될 수 있으면 expression1
을 반환하고, 그렇지 않으면 expression2
를 반환합니다. 함수 호출을 expression2
로 사용하는 경우 expression1
이·true
로·평가되면·함수가·호출되지·않습니다.
다음 표와 같이 두 피연산자의 유형이 부울인 경우 표현식 중 하나 이상이 true
이면 결과는 true
이고, 두 표현식 모두 false
이면 결과는 false
입니다.
표현식 | 평가 결과 |
---|---|
|
|
|
|
|
|
|
|
expression1:* —
모든 유형의 값입니다.
| |
expression2:* —
모든 유형의 값입니다.
|
* —
두 피연산자가 Boolean 데이터 유형의 멤버이면 부울 값입니다. 그렇지 않으면 두 표현식 중 하나의 값이 결과가 됩니다.
|
예제
예제 사용 방법
다음 예제에서는
if
문에서 logical OR(||
) 연산자를 사용합니다. 두 번째 표현식이 true
로 평가되기 때문에 최종 결과는 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
문에 포함된 조건 중의 하나가 true(b > 200
)이기 때문에 "logical OR 테스트를 통과했습니다"라는 메시지가 나타납니다.
다음 예제에서는 함수 호출을 두 번째 피연산자로 사용하는 경우 예상치 않은 결과가 나타날 수 있음을 보여 줍니다. 연산자 왼쪽의 표현식이 true
로 평가되면 그 결과가 바로 반환되며 오른쪽 표현식에 대한 평가는 이루어지지 않습니다. fx2()
함수는 호출되지 않습니다.
function fx1():Boolean { trace("fx1 called"); return true; } function fx2():Boolean { trace("fx2 called"); return true; } if (fx1() || fx2()) { trace("IF statement entered"); }
관련 API 요소
||= logical OR assignment | 연산자 |
|
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
expression1
에 expression1 || expression2
의 값을 대입합니다. 예를 들어, 다음 두 명령문은 동일합니다.
x ||= y; x = x || y;피연산자
expression1:* —
모든 유형의 값입니다.
| |
expression2:* —
모든 유형의 값입니다.
|
* —
두 피연산자가 Boolean 데이터 유형의 멤버이면 부울 값입니다. 그렇지 않으면 두 표현식 중 하나의 값이 결과가 됩니다.
|
예제
예제 사용 방법
다음 예제에서는 이전에 선언된
myVar
라는 변수에 기본값을 대입합니다. 이 방법은 logical OR(||
) 연산자가 expression1
이 true
로 평가되면 expression1
의 값을 반환하고 그렇지 않으면 expression2
의 값을 반환한다는 점을 이용한 것입니다. myVar
에 이미 true
로 평가되는 값이 들어 있는 경우 myVar
는 변경되지 않습니다. 하지만 myVar
에 null
, ""
(빈 문자열) 및 undefined
와 같은 false
로 평가되는 값이 포함된 경우 myVar
에는 "default"
값이 대입됩니다.
myVar ||= "default";
관련 API 요소
% modulo | 연산자 |
|
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
expression1
을 expression2
로 나눈 나머지를 계산합니다. 피연산자 중 하나가 숫자가 아닌 경우 modulo(%
) 연산자는 해당 피연산자를 숫자로 변환하려고 합니다.
modulo 결과의 부호는 피제수(첫 번째 숫자)의 부호와 일치합니다. 예를 들어, -4 % 3
및 -4 % -3
은 모두 -1
로 평가됩니다.
expression1:Number —
숫자 또는 숫자로 평가되는 표현식입니다. 숫자 문자만 들어 있는 문자열은 숫자로 평가됩니다.
| |
expression2:Number —
숫자 또는 숫자로 평가되는 표현식입니다. 숫자 문자만 들어 있는 문자열은 숫자로 평가됩니다.
|
Number —
산술 연산의 결과입니다.
|
예제
예제 사용 방법
다음 예제에서는 modulo(
%
) 연산자를 사용합니다.
trace(12 % 5); // 2 trace(4.3 % 2.1); // 0.0999999999999996 trace(4 % 4); // 0
%
) 연산자가 나머지 값만 반환하기 때문입니다. 두 번째 trace에서는 이진 계산 작업의 부동 소수점 정확성 제한 때문에 예상 값인 0.1 대신 0.0999999999999996이 반환됩니다.
관련 API 요소
%= modulo assignment | 연산자 |
|
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
expression1
에 expression1 % expression2
의 값을 대입합니다. 다음 두 명령문은 동일합니다.
x %= y; x = x % y;피연산자
expression1:Number —
숫자 또는 숫자로 평가되는 표현식입니다.
| |
expression2:Number —
숫자 또는 숫자로 평가되는 표현식입니다.
|
Number —
산술 연산의 결과입니다.
|
예제
예제 사용 방법
다음 예제에서는 값 4를
a
변수에 대입합니다.
var a:Number = 14; var b:Number = 5; a %= b; trace(a); // 4
관련 API 요소
* multiplication | 연산자 |
|
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
두 개의 숫자 표현식을 곱합니다. 두 표현식이 모두 정수인 경우에는 곱한 값도 정수이고 두 표현식 중 하나라도 부동 소수점 숫자인 경우에는 곱한 값도 부동 소수점 숫자입니다.
피연산자expression1:Number —
숫자 또는 숫자로 평가되는 표현식입니다.
| |
expression2:Number —
숫자 또는 숫자로 평가되는 표현식입니다.
|
Number —
정수 또는 부동 소수점 숫자입니다.
|
예제
예제 사용 방법
다음 명령문은 정수 2와 3을 곱해서 정수 6을 결과로 얻습니다.
trace(2*3); // 6
trace(2.0 * 3.1416); // 6.2832
*= multiplication assignment | 연산자 |
|
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
expression1
에 expression1 * expression2
의 값을 대입합니다. 예를 들어, 다음 두 표현식은 동일합니다.
x *= y x = x * y피연산자
expression1:Number —
숫자 또는 숫자로 평가되는 표현식입니다.
| |
expression2:Number —
숫자 또는 숫자로 평가되는 표현식입니다.
|
Number —
expression1 * expression2 의 값입니다. 표현식을 숫자 값으로 변환할 수 없는 경우 NaN (숫자가 아님)을 반환합니다.
|
예제
예제 사용 방법
다음 예제에서는 값 50을
a
변수에 대입합니다.
var a:Number = 5; var b:Number = 10; trace(a *= b); // 50
c
와 d
에 대입합니다.
var i:Number = 5; var c:Number = 4 - 6; var d:Number = i + 2; trace(c *= d); // -14
관련 API 요소
:: name qualifier | 연산자 |
namespace::property namespace::method() namespace::xmlObject.property namespace::xmlObject.@attribute |
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
속성, 메서드, XML 속성 또는 XML 특성의 네임스페이스를 식별합니다.
피연산자namespace:Object —
식별하는 네임스페이스입니다.
| |
propertyName:Object —
식별할 속성, 메서드, XML 속성 또는 XML 특성입니다.
|
예제
예제 사용 방법
다음 예제에서는
::
연산자를 사용하여 두 개의 다른 네임스페이스에서 같은 이름을 갖는 두 개의 메서드를 식별합니다.
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"; } }
::
연산자를 사용하여 지정된 네임스페이스를 갖는 XML 속성을 식별합니다.
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
관련 API 요소
new | 연산자 |
|
런타임 버전: | Flash Player 5 |
클래스 인스턴스를 인스턴스화합니다. new
연산자를 클래스 또는 Class 유형의 변수와 함께 사용해서 클래스 인스턴스를 만들 수 있습니다. 일반적으로 new
연산자는 클래스 인스턴스를 만들기 위해 클래스 객체와 함께 사용됩니다. 예를 들어, new Sprite()
문은 Sprite 클래스 인스턴스를 만듭니다.
또한 new
연산자를 사용하여 SWF 파일로 컴파일된 이미지, 사운드 또는 글꼴과 같은 외부 객체인 포함된 에셋과 클래스를 연결할 수 있습니다. 포함된 각 에셋은 포함된 고유 에셋 클래스로 표현됩니다. 포함된 에셋에 액세스하려면 new
연산자를 사용하여 연결된 클래스를 인스턴스화해야 합니다. 그 후에 포함된 에셋 클래스의 해당 메서드 및 속성을 호출하여 포함된 에셋을 조작할 수 있습니다.
클래스를 정의할 때 class
키워드보다 Function 객체를 자주 사용하는 경우에는 new
연산자를 사용하여 생성자 함수 기반의 객체를 만들 수 있습니다. 생성자 함수와 클래스의 생성자 메서드를 혼동하지 마십시오. 생성자 함수는 function
키워드를 사용하여 정의된 Function 객체이지만 클래스 정의에 속하지는 않습니다. 생성자 함수를 사용하여 객체를 만들 때는 클래스 상속 대신 프로토타입 상속을 사용해야 합니다.
constructor:* —
클래스, 함수 또는 Class 유형의 값을 갖고 있는 변수입니다.
| |
parameters:* —
쉼표로 구분되는 하나 이상의 매개 변수입니다.
|
예제
예제 사용 방법
다음 예제에서는
Book
클래스를 만든 후 new
연산자를 사용하여 객체 book1
과 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
연산자를 사용하여 18개의 요소를 갖는 Array 클래스의 인스턴스를 만듭니다.
var golfCourse:Array = new Array(18);
관련 API 요소
{} object initializer | 연산자 |
object = {name1 : value1, name2 : value2,... nameN : valueN} |
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
지정된 name
및 value
속성 쌍으로 새 객체를 만들거나 초기화합니다. 이 연산자를 사용하면 new Object
구문을 사용하고 assignment 연산자를 사용하여 속성 쌍을 채우는 것과 동일한 결과가 됩니다. 새로 만들어진 객체의 프로토타입은 일반적으로 Object 객체로 명명됩니다.
이 연산자는 흐름 제어 명령문(for
, while
, if
, else
, switch
) 및 함수와 연관된 연속 코드 블록을 표시하는 데에도 사용됩니다.
object:Object —
작성할 객체입니다.
| |
name1,2,...N:Object —
속성의 이름입니다.
| |
value1,2,...N:Object —
각 name 속성에 해당하는 값입니다.
|
Object —
Object 객체입니다.
|
예제
예제 사용 방법
다음 코드의 첫 번째 행에서는 object initializer({}) 연산자를 사용하여 빈 객체를 만들고 두 번째 행에서는 생성자 함수를 사용하여 새 객체를 만듭니다.
var object:Object = {}; var object:Object = new Object();
account
객체를 만들고 name
, address
, city
, state
, zip
및 balance
속성을 제공된 값으로 초기화합니다.
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";
관련 API 요소
() parentheses | 연산자 |
(expression1[, expression2]) (expression1, expression2) function(parameter1,..., parameterN) |
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
하나 이상의 매개 변수에 대해 그룹화 연산을 수행하고, 표현식을 연속적으로 평가하거나, 하나 이상의 매개 변수를 묶은 다음 괄호 앞의 함수에 인수로 전달합니다.
구문 1: 연산자의 실행 순서를 제어합니다. 괄호를 사용하면 일반적인 우선 순위가 무시되고 괄호 안의 표현식이 먼저 평가됩니다. 괄호가 중첩된 경우에는 가장 안쪽 괄호의 내용이 바깥쪽 괄호의 내용보다 먼저 평가됩니다.
구문 2: 쉼표로 구분된 일련의 표현식을 순서대로 평가하고 최종 표현식의 결과를 반환합니다.
구문 3: 하나 이상의 매개 변수를 묶은 다음 괄호 앞의 함수에 전달합니다.
피연산자expression1:Object —
숫자, 문자열, 변수 또는 텍스트를 포함할 수 있는 표현식입니다.
| |
expression2:Object —
숫자, 문자열, 변수 또는 텍스트를 포함할 수 있는 표현식입니다.
| |
function:Function —
괄호 안의 내용에 대해 수행되는 함수입니다.
| |
parameter1...parameterN:Object —
결과를 괄호 밖의 함수에 인수로 전달하기 전에 실행되는 일련의 매개 변수입니다.
|
예제
예제 사용 방법
구문 1: 다음 명령문은 괄호를 사용하여 표현식의 실행 순서를 제어하는 방법을 보여 줍니다.
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()
함수를 평가하고 bar()
함수를 평가한 후 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
관련 API 요소
( ) parentheses (XML) | 연산자 |
myXML.(expression) |
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
XML(E4X) XML 구문을 위한 ECMAScript의 표현식을 평가합니다. 예를 들어, myXML.(lastName == "Smith")
는 lastName
이라는 이름과 "Smith"
라는 값을 가지고 있는 XML 요소를 식별합니다. 결과는 XMLList 객체입니다.
myXML:* —
XML 또는 XMLList 객체입니다.
| |
expression:* —
일치하는 요소를 정의하는 표현식입니다.
|
XMLList —
괄호로 지정된 XMLList입니다.
|
예제
예제 사용 방법
다음 예제에서는 괄호를 사용하여 요소와 특성을 식별하는 방법을 보여 줍니다.
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
관련 API 요소
/ RegExp delimiter | 연산자 |
/pattern/flags |
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
문자의 앞/뒤에 사용하면 해당 문자에 리터럴 값이 있으므로 이 문자를 변수, 문자열 또는 다른 ActionScript 요소가 아니라 일반 표현식(RegExp)으로 간주해야 함을 나타냅니다. 그러나 연속되는 두 개의 슬래시 문자(//
)는 주석의 시작을 나타냅니다.
pattern:String —
일반 표현식의 패턴을 정의하는 하나 이상의 문자 시퀀스입니다.
| |
flags:String —
g (global 플래그), i (ignoreCase 플래그), s (dotall 플래그), x (extended 플래그) 등의 문자가 0개 이상 포함된 문자 시퀀스입니다.
|
예제
예제 사용 방법
다음 예제에서는 슬래시 문자(/)를 사용하여 RegExp 유형의 변수 값을 설정합니다. 비교 시 대/소문자를 구분하지 않기 위해
i
플래그를 설정합니다.
var myRegExp:RegExp = /foo-\d+/i; trace(myRegExp.exec("ABC Foo-32 def.")); // Foo-32
관련 API 요소
=== strict equality | 연산자 |
|
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
두 표현식이 동일한지 테스트합니다. 그러나 자동 데이터 변환은 수행하지 않습니다. 데이터 유형을 포함하여 두 표현식이 동일한 경우 결과는 true
입니다.
strict equality(===
) 연산자는 다음 세 가지 면에서 equality(==
) 연산자와 동일합니다.
- 숫자 및 부울 값은 값을 기준으로 비교되고 값이 동일한 경우 서로 동일한 것으로 간주됩니다.
- 문자열 표현식은 문자가 동일하고 문자 수도 같은 경우 서로 동일한 것으로 간주됩니다.
- 객체, 배열 및 함수를 나타내는 변수는 참조를 기준으로 비교됩니다. 이러한 두 변수는 동일한 객체, 배열 또는 함수를 참조하는 경우 서로 동일한 것으로 간주됩니다. 별도의 두 배열은 포함된 요소의 수가 같더라도 동일한 것으로 간주되지 않습니다.
===
) 연산자는 다음 두 가지 면에서 equality(==
) 연산자와 다릅니다.
- strict equality 연산자는 숫자 유형(Number, int 및 uint)에 대해서만 자동 데이터 변환을 수행하는 반면 equality 연산자는 모든 원시 데이터 유형에 대해 자동 데이터 변환을 수행합니다.
null
과undefined
를 비교할 때 strict equality 연산자는false
를 반환합니다.
var x:Number = 1
)과 원시 객체(예: var x:Number = new Number(1)
)가 관련된 두 상황에서 ActionScript 2.0에서와는 다른 결과를 생성합니다. 이러한 결과는 ActionScript 3.0에서 원시 값과 원시 래퍼 객체를 구분하지 않기 때문에 발생합니다.
먼저 ActionScript 3.0의 경우 원시 값과 동일한 값을 갖고 있는 원시 객체를 비교하면 true
가 반환되지만 이전 버전에서는 false
가 반환됩니다. 이전 버전의 경우 원시 값의 데이터 유형은 Boolean, Number 또는 String인 반면 원시 객체의 데이터 유형은 Boolean, Number 또는 String이 아니라 항상 Object입니다. 다음 코드를 통해 이 차이점의 실제 효과를 확인할 수 있습니다. 이전 버전의 ActionScript에서는 피연산자의 데이터 유형이 일치하지 않기 때문에 true
가 반환되지만 ActionScript 3.0에서는 원시 값이 객체로 래핑되었는지 여부와 상관 없이 Boolean, Number, int, uint 또는 String 유형으로 지정되므로 false
가 반환됩니다.
var num1:Number = 1; var num2:Number = new Number(1); trace(num1 === num2); // true in ActionScript 3.0, false in ActionScript 2.0
true
가 반환되지만 이전 버전에서는 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
가 반환됩니다. 그러나 ActionScript 3.0의 경우 두 변수의 데이터 유형은 Number이므로 두 변수는 값을 기준으로 비교되고, 결과적으로 equality 및 strict equality 연산자에 대해 true
가 반환됩니다.
피연산자expression1:Object —
숫자, 문자열, 부울 값, 변수, 객체, 배열 또는 함수입니다.
| |
expression2:Object —
숫자, 문자열, 부울 값, 변수, 객체, 배열 또는 함수입니다.
|
Boolean —
비교의 부울 결과입니다.
|
예제
예제 사용 방법
다음 예제에서는 값과 데이터 유형이 일치할 경우 strict equality(
===
)과 equality(==
)이 동일함을 보여 줍니다.
var string1:String = "5"; var string2:String = "5"; trace(string1 == string2); // true trace(string1 === string2); // true
==
) 연산자는 유형 변환을 수행한다는 것을 보여 줍니다.
// 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
과 undefined
를 동일하지 않은 것으로 간주하는 반면 equality 연산자는 두 값을 동일한 것으로 간주한다는 것을 보여 줍니다.
trace(null == undefined); // true trace(null === undefined); // false
관련 API 요소
!== strict inequality | 연산자 |
|
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
strict equality(===
) 연산자의 정반대 상황을 테스트합니다. strict inequality 연산자는 int 및 uint 데이터 유형이 변환되지 않는다는 점을 제외하면 inequality 연산자와 동일한 동작을 수행합니다.
expression1
과 expression2
가 동일하고 각각의 데이터 유형이 동일한 경우 그 결과는 false
입니다.
strict inequality(!==
) 연산자는 다음 세 가지 면에서 inequality(!=
) 연산자와 동일합니다.
- 숫자 및 부울 값은 값을 기준으로 비교되고 값이 동일한 경우 서로 동일한 것으로 간주됩니다.
- 문자열 표현식은 문자가 동일하고 문자 수도 같은 경우 서로 동일한 것으로 간주됩니다.
- 객체, 배열 및 함수를 나타내는 변수는 참조를 기준으로 비교됩니다. 이러한 두 변수는 동일한 객체, 배열 또는 함수를 참조하는 경우 서로 동일한 것으로 간주됩니다. 별도의 두 배열은 포함된 요소의 수가 같더라도 동일한 것으로 간주되지 않습니다.
!=
) 연산자와 다릅니다.
- strict inequality(
!==
) 연산자는 숫자 유형, 숫자, int 및 uint에 대해서만 자동 데이터 변환을 수행하는 반면 inequality(!=
) 연산자는 모든 원시 데이터 유형에 대해 자동 데이터 변환을 수행합니다. null
과undefined
를 비교할 때 strict inequality(!==
) 연산자는true
를 반환합니다.
expression1:Object —
숫자, 문자열, 부울 값, 변수, 객체, 배열 또는 함수입니다.
| |
expression2:Object —
숫자, 문자열, 부울 값, 변수, 객체, 배열 또는 함수입니다.
|
Boolean —
비교의 부울 결과입니다.
|
예제
예제 사용 방법
다음 코드에 포함된 주석은 equality(
==
), strict equality(===
) 및 strict inequality(!==
) 연산자를 사용하는 연산의 반환값을 보여 줍니다.
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
관련 API 요소
" string delimiter | 연산자 |
"text" |
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
문자의 앞/뒤에 사용하면 해당 문자에 리터럴 값이 있으므로 이 문자를 변수, 숫자 값 또는 다른 ActionScript 요소가 아니라 문자열로 간주해야 함을 나타냅니다.
피연산자text:String —
0개 이상 문자의 시퀀스입니다.
|
예제
예제 사용 방법
다음 예제에서는 인용 부호(")를 사용하여
yourGuess
변수의 값이 변수의 이름이 아니라 리터럴 문자열 "Prince Edward Island"
임을 나타냅니다.
var yourGuess:String = "Prince Edward Island"; submit_btn.onRelease = function() { trace(yourGuess); }; // Prince Edward Island
관련 API 요소
- subtraction | 연산자 |
|
런타임 버전: | Flash Player 9 |
부정하거나 빼는 데 사용됩니다.
구문 1: 부정에 사용되는 경우 이 연산자는 숫자 표현식의 부호를 반전시킵니다.
구문 1: 빼기에 사용되면 두 개의 숫자 표현식에서 산술 빼기를 수행하여 expression1
에서 expression2
를 뺍니다. 두 표현식이 모두 정수인 경우에는 빼기 결과도 정수이고 두 표현식 중 하나라도 부동 소수점 숫자인 경우에는 빼기 결과도 부동 소수점 숫자입니다.
expression1:Number —
숫자 또는 숫자로 평가되는 표현식입니다.
| |
expression2:Number —
숫자 또는 숫자로 평가되는 표현식입니다.
|
Number —
정수 또는 부동 소수점 숫자입니다.
|
예제
예제 사용 방법
구문 1: 다음 명령문은 2 + 3 표현식의 부호를 반대로 합니다.
trace(-(2 + 3)); // -5
trace(5 - 2); // 3
다음 명령문은 부동 소수점 숫자 3.25에서 부동 소수점 숫자 1.5를 뺍니다.
trace(3.25 - 1.5); // 1.75
-= subtraction assignment | 연산자 |
|
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
expression1
에 expression1 - expression2
의 값을 대입합니다. 예를 들어, 다음 두 명령문은 동일합니다.
x -= y ; x = x - y;
문자열 표현식은 숫자로 변환되어야 하며, 그렇지 않으면 결과는 NaN
(숫자가 아님)이 됩니다.
expression1:Number —
숫자 또는 숫자로 평가되는 표현식입니다.
| |
expression2:Number —
숫자 또는 숫자로 평가되는 표현식입니다.
|
Number —
산술 연산의 결과입니다.
|
예제
예제 사용 방법
다음 예제에서는 subtraction assignment(
-=
) 연산자를 사용하여 5에서 10을 빼고 그 결과를 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
관련 API 요소
: type | 연산자 |
[modifiers] var variableName:type function functionName():type { ... } function functionName(parameter1:type, ..., parameterN:type) [:type]{ ... } |
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
데이터 유형 대입에 사용되는 이 연산자는 변수 유형, 함수 반환 유형 또는 함수 매개 변수 유형을 지정합니다. 이 연산자는 변수를 선언하거나 대입하는 데 사용되는 경우 해당 변수의 유형을 지정하고 함수를 선언하거나 정의하는 데 사용될 경우에는 해당 함수의 반환 유형을 지정합니다. 또한 함수 정의에서 함수 매개 변수와 함께 사용될 경우에는 해당 매개 변수에 필요한 변수 유형을 지정합니다.
유형 검사는 런타임에 항상 발생합니다. 그러나 컴파일러가 Strict 모드로 설정된 경우에는 컴파일 타임에 모든 유형이 검사되며, 일치하지 않는 유형이 있으면 오류가 생성됩니다. 대입 연산과 함수 호출 중 및 dot(.
) 연산자를 사용하는 클래스 멤버의 참조를 해제하는 동안 유형 불일치가 발생할 수 있습니다.
사용할 수 있는 유형은 모든 기본 객체 유형, 사용자가 정의하는 클래스와 인터페이스 및 void
입니다. 인식되는 기본 유형은 Boolean, Number, int, uint 및 String입니다. 모든 내장 클래스도 기본 유형으로 지원됩니다.
데이터 유형을 대입하지 않은 경우 변수, 함수 반환값 또는 함수 매개 변수는 유형이 지정되지 않은 것으로 간주되며, 이러한 값은 어느 데이터 유형이나 될 수 있습니다. 유형이 지정되지 않은 값을 명확하게 사용하려는 경우 별표(*) 문자를 유형 약어로 사용할 수 있습니다. 별표 문자를 유형 약어로 사용하면 변수, 함수 반환 유형 또는 함수 매개 변수의 유형이 지정되지 않은 채로 유지됩니다.
피연산자variableName:* —
변수의 식별자입니다.
| |
type:* —
고유 데이터 유형, 사용자 정의 클래스 이름 또는 인터페이스 이름입니다.
| |
functionName:Function —
함수의 식별자입니다.
| |
parameter:* —
함수 매개 변수의 식별자입니다.
|
예제
예제 사용 방법
구문 1: 다음 예제에서는
userName
이라는 String 유형의 공용 변수를 선언하고 빈 문자열을 대입합니다.
var userName:String = "";
randomInt()
함수를 정의하여 함수의 반환 유형을 지정하는 방법을 보여 줍니다.
function randomInt(integer:int):int { return Math.round(Math.random()*integer); } trace(randomInt(8));
val
매개 변수를 사용하는 squareRoot()
함수를 정의하고 val
의 제곱근 및 Number 유형을 반환합니다.
function squareRoot(val:Number):Number { return Math.sqrt(val); } trace(squareRoot(121));
관련 API 요소
typeof | 연산자 |
|
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
expression
을 평가하고 표현식의 데이터 유형을 지정하는 문자열을 반환합니다. 결과는 boolean
, function
, number
, object
, string
및 xml
이라는 6개의 문자열 값으로 제한됩니다. 이 연산자를 사용자 정의 클래스의 인스턴스에 적용하면 결과는 object
문자열입니다. typeof
연산자는 이전 버전과의 호환성을 위해 포함되었습니다. 유형 호환성을 확인하려면 is
연산자를 사용합니다.
expression:Object —
평가할 객체입니다.
|
String —
expression 유형의 문자열 표현입니다. 다음 표에서는 각 표현식의 유형에 대한 typeof 연산자의 결과를 보여 줍니다.
|
예제
예제 사용 방법
다음 예제에서는 다양한 객체 및 값에
typeof
를 사용한 결과를 보여 줍니다.
trace(typeof Array); // object trace(typeof Date); // object trace(typeof 3); // number
new
연산자를 사용하여 객체를 만들든 상관 없이 원시 객체의 데이터 유형이 같다는 것을 보여 줍니다. 이와는 달리 이전 버전의 ActionScript에서는 typeof
연산자가 b
변수에 대해 object
를 반환합니다.
var a:String = "sample"; var b:String = new String("sample"); trace(typeof a); // string trace(typeof b); // string
관련 API 요소
void | 연산자 |
|
런타임 버전: | Flash Player 9 |
표현식을 평가한 후 그 값을 버리고 undefined
를 반환합니다. void
연산자는 ==
연산자를 사용한 비교를 통해 정의되지 않은 값을 테스트할 때 자주 사용됩니다.
expression:Object —
평가할 표현식입니다.
|
* —
undefined 값입니다.
|
< > XML literal tag delimiter | 연산자 |
myXML= <{tagName} {attributeName} = {attributeValue}>{content}{tagName}> |
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 9 |
XML 리터럴의 XML 태그를 정의합니다. 슬래시(/)를 사용하여 닫는 태그를 정의합니다.
피연산자myXML:* —
XML 또는 XMLList 객체입니다.
| |
tagName:* —
XML 태그 이름으로 평가되는 표현식입니다.
| |
attributeName:* —
XML 특성 이름으로 평가되는 표현식입니다.
| |
attributeValue:* —
XML 특성 값으로 평가되는 표현식입니다.
| |
content:* —
XML 태그의 내용으로 평가되는 표현식입니다.
|
예제
예제 사용 방법
다음 예제에서는 XML 리터럴을 정의할 때
<
및 >
연산자를 사용하는 방법을 보여 줍니다.
var x:XML = <item id= "324">cola</item>;
관련 API 요소
Tue Jun 12 2018, 03:35 PM Z