Novos tipos de dados no Action Script 3.0

O ActionScript 3.0 define diversos tipos de dados geralmente usados. Um tipo de dado define um tipo de valor. Uma variável que seja atribuída um tipo de dado pode somente prender um valor dentro disso tipo de valores. Todos os valores em ActionScript 3.0, primitivos ou complexos, são objetos. Valores primitivos são: Boolean, int, void, Number, String, uint e undefined. Valores complexos são: Array, Date, Error, Function, RegExp, XML, e XMLList.

Boolean data type
O tipo de dados booleano compreende dois valores, verdadeiro e falso (true e false). Nenhum outro valor é válido para variáveis do tipo booleano. O valor padrão de uma variável booleana que seja declarada mas não inicializada é falso(false).

int data type
o tipo de dados int é armazenado internamente como um inteiro 32-bit e compreende os inteiros entre -2.147.483.648 (-231) a 2.147.483.647 (231 – 1). As versões anteriores do ActionScript ofereceram somente o tipo de dados Number, que foi usado para ambos os inteiros e números de ponto flutuante(float). No ActionScript 3,0, você tem agora o acesso aos tipos da máquina em baixo nível para inteiros com sinal e sem sinal 32-bit. Se sua variável não usar números do tipo ponto flutuante(float), usar o tipo de dados int em vez de Number deve ser mais rápido e mais eficiente. Se sua variável usar somente os inteiros 32-bit maiores e os valores que você necessita podem exceder o valor máximo de int (2.147.483.647), então você deve usar o tipo de dados uint. Para o inteiro maior do que o valor int máximo, usam um ou outro o tipo de dados do uint, que pode ter valores até 4.294.967.295 (valores 32-bit inteiros sem sinal), ou o tipo de dados Number, que pode ter valores até 9.007.199.254.740.992 (valores 53-bit inteiro). O valor padrão para as variáveis que são do tipo int é 0.

Null data type
O tipo de dados nulo(null) contém somente um valor, zero. Este é o tipo de dados padrão para todas as classes que definem tipos de dados complexos, � exceção da classe Object, que opta por undefined. Note que você não pode atribuir um valor zero � s variáveis do tipo Boolean, Number, int ou uint.

Number data type
No ActionScript 3.0, o tipo de dados Number podem representar inteiros, inteiros sem sinal, e números de ponto flutuante(float). Entretanto, para maximizar o desempenho, você deve usar o tipo de dados Number somente para float ou os valores do inteiro maiores do que os tipos 32-bit int e do uint podem armazenar. Para armazenar um número do ponto flutuante(float), inclua um ponto decimal no número. Sem um ponto decimal, o número será armazenado como um int. O tipo de dados Number usa o formato double-precision 64-bit como especificado pelo padrão de IEEE para a aritmética floating-Point binária (Ieee-754). Este padrão dita como os números do ponto flutuante(float) são armazenados usando os 64 bits disponíveis. Um bit é usado designar se o número é positivo ou negativo. Onze bits são usados para o exponente, que é armazenado como a base 2. Os cinqüênta dois bits restantes são usados armazenar o significand (chamado também a mantissa), que é o número que é levantado para o poder indicado pelo exponente. Usando alguns de seus bits armazenar um exponente, o tipo de dados Number pode armazenar os números do ponto flutuante(float) significativamente maiores do que se usar todos seus bits para o significand. Para o exemplo, se o tipo de dados Number usasse todos os 64 bits armazenar o significand, poderia armazenar um número tão grande quanto 264. Usando 11 bits para armazenar um exponente, o tipo de dados Number pode elevar seu significand para um poder de 21023. O máximo e os valores mínimos que o tipo do Number pode representar são armazenados em propriedades de estática da classe Number chamada Number.MAX_VALUE e Number.MIN_VALUE.

[as]Number.MAX_VALUE == 1.79769313486231e+308
Number.MIN_VALUE == 4.940656458412467e-324
[/as]

Embora esta escala dos números seja enorme, o custo dela é a precisão. O tipo de dados Number usa 52 bits para armazenar o significand, assim os números que requerem mais de 52 bits para representar precisamente, como a fração 1/3, serão somente aproximações. Se sua aplicação requer a precisão absoluta com números decimais, você necessitará usar o software para essa aritmética decimal do ponto flutuante(float) ao contrário da aritmética binária do ponto flutuante(float). Quando você armazenar valores do int com o tipo de dados do Number, só os 52 bits do significand serão usados. O tipo de dados Number usa estes 52 bits e um bit é escondido especialmente para representar inteiros de -9.007.199.254.740.992 (-253) a 9.007.199.254.740.992 (253). O FLASH PLAYER usa o valor de NaN(Not a Number) não somente porque o valor padrão para variáveis Number, mas também como o resultado de alguma operação que deve retornar um número negativo . Por exemplo, se você tentar calcular a raiz quadrada de um número negativo, o resultado será NaN. Outro valores especiais de Number incluem o positive infinity e negative infinity.
Nota: o resultado da divisão por 0 é somente NaN se o divisor for também 0. A divisão por 0 produz um infinity quando o dividendo é positivo ou -infinity quando o dividendo é negativo.

String data type
O tipo de dados String representa uma seqüência de caráteres 16-bit. As Strings são armazenadas internamente como caráteres Unicode, usando o formato UTF-16. As Strings são valores fixos, apenas porque estão na línguagem de programação de Java. Uma operação em um valor de string retorna uma nova string. O valor padrao para uma variável declarada com o tipo de dados String é nulo. O zero do valor não é o mesmo do que a String vazia (“”), mesmo que ambos representem a ausência de caráteres.

uint data type
o tipo de dados uint é armazenado internamente como um inteiro sem sinal 32-bit e compreende os inteiros de 0 a 4.294.967.295 (232-1). Use o tipo de dados uint se você quiser que os valores dos limites de números inteiros não-negativos ou quando o tipo de dados int não fornece valores positivos grandes o bastante. Por exemplo, você deve usar o tipo de dados uint para representar valores de cores de pixels porque o tipo de dados int não é grande bastante segurar todos os valores de cores. Para um int maior do que o valor máximo do uint, use o tipo de dados Number, que pode conter valores do inteiro 53-bit. O valor padrão para as variáveis que são do tipo uint é 0.

Undefined data type
O tipo de dados undefined(indefinido) contém somente um valor, indefinido. Este é o valor padrão para exemplos de classes Object. Você pode somente atribuir um valor de undefined � s variáveis da classe Object.

Void data type
O tipo de dados void(vazio) contem somente um valor, vazio. Este tipo de dados é usado designar as funções que não retornam um valor.

Object data type
O tipo de dados Object é definido pela classe Object. A classe Object serve como uma classe base para todas as definições de classes no ActionScript.

Data type descriptions
http://livedocs.macromedia.com/flex/201/html/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Book_Parts&file=03_Language_and_Syntax_160_11.html#146751

1 thought on “Novos tipos de dados no Action Script 3.0

  1. Douglas d'Aquino

    Finalmente alguém resolveu falar de ActionScript 3.0 no Brasil. Já tava na hora. Obrigado Leonardo.. estou realizando meus primeiros estudos na versão 3.0, quero me aprofundar mais no 2.0 também e ver se finalmente crio vergonha na cara e começo a usar flex ;p

    o bom do ActionScript 2.0 e 3.0 é que se parecem bastante com o Java…

    sabes se eles são integráveis?

    vlw

Leave a Reply