Publicado em 28.Ago.2009 por Bruno Sales
Categorias: ActionScript, Flex, Otimização, Programação
Operador Lógico ||= em AS3
Bom, poucas pessoas sabem para que serve o operador lógico “||=”. Vou tentar explicar um pouco sobre ele.
Na documentação da adobe este operador é descrito da seguinte forma: “Assigns expression1 the value of expression1 || expression2.”, traduzindo seria: “Atribui para expressão1 o valor de expressão1 ou da expressão2″. Lembrando que para o operador lógico usamos com sintaxe “expressão1 operador expressão2“.
Vou mostrar em exemplos mais claros como isso funciona.
Exemplo1:
1 2 3 | var array:Array; // Variável arr tem o valor nulo. array ||= ["Bruno Sales"]; // Caso array seja nulo, atribua o valor ["Bruno Sales"] trace(array.toString()); // Resultado: Novo valor atribuido, trace imprime "Bruno Sales" |
Exemplo2:
1 2 3 | var array:Array = ["DClick"]; // Variável arr tem o valor ["DClick"]. array ||= ["Bruno Sales"]; // Caso array seja nulo, atribua o valor ["Bruno Sales"] trace(array.toString()); // Resultado: Váriavel não foi alterada, trace imprime "DClick" |
Logo, visualizando a diferença dos 2 exemplos, concluímos que o operador lógico “||=” faz o mesmo que o código abaixo, porém de uma maneira mais “elegante”.
1 2 3 4 5 |
Espero que tenham gostado.

5 comentários
Boa dica! Não conhecia este operador lógico, e realmente deixa o código mais elegante.
Great, nor in java books I found this operator only the basic attribution operators.
Legal, nem em livros de Java achei esse material somente os operadores basicos de atribuição.
interessante, mas o q se ganha usando esse operadar ao invez do operador ternario “?” ?
Muito bom esse operador. Vou usar muito!
vlw!
Interessante conhecer (vai que caia numa prova de certificação!), mas pode criar problemas de compreensão para outros desenvolvedores e fazer uma galera perder tempo à toa.
Deixe Seu Comentário