lipe760 0 Denunciar post Postado Fevereiro 5, 2014 Fala ae, Galera! Sem querer causar polêmica, e sim, "ouvir" opiniões pra tentar entender por várias óticas o conceito. Quando usar e não usar Operadores Ternários? Exemplo? Obrigadooooooooooo!!!! Compartilhar este post Link para o post Compartilhar em outros sites
Marcielo 108 Denunciar post Postado Fevereiro 5, 2014 Uso sempre que possível, acho que é mais uma questão de escrever menos do que qualquer outra coisa e também de gosto, é claro. Só não é legal usar quando se tem muitas comparações (respeitar também o limite - 120 caracteres por linha) ou usar ternário encadeado, dificulta e muito a leitura, então if's talvez seriam melhores nesse caso. Por exemplo na situação abaixo: public function doSomething(Foo $foo = null) { if ($foo === null) { $this->foo = new Foo(); } else { $this->foo = $foo; } } Poderíamos simplificar de várias formas, ainda sem ternário da pra dispensar o uso do else: public function doSomething(Foo $foo = null) { if ($foo === null) { $foo = new Foo(); } $this->foo = $foo; } Com operador ternário: public function doSomething(Foo $foo = null) { $this->foo = $foo === null ? new Foo() : $foo; } Ou, o caso acima ainda poderia ser reduzido a: public function doSomething(Foo $foo = null) { $this->foo = $foo ?: new Foo(); } Não me recordo se funciona em outras linguagens, mas em PHP caso a condição seja verdadeira e nada tenha sido especificado para a condição verdadeira o PHP retorna o próprio valor da condição. $foo = null; var_dump($foo ?: 10); // int(10) $foo = 20; var_dump($foo ?: 10); // int(20) Compartilhar este post Link para o post Compartilhar em outros sites
Enrico Pereira 299 Denunciar post Postado Fevereiro 5, 2014 Quando a condição é um if/else e você quer o resultado. Compartilhar este post Link para o post Compartilhar em outros sites
Henrique Barcelos 290 Denunciar post Postado Fevereiro 5, 2014 Citar Não me recordo se funciona em outras linguagens, mas em PHP caso a condição seja verdadeira e nada tenha sido especificado para a condição verdadeira o PHP retorna o próprio valor da condição. No Javascript dá pra fazer também, mas o operador muda: alert(null || 10); // mostra 10 Compartilhar este post Link para o post Compartilhar em outros sites
Jonaslhp 39 Denunciar post Postado Fevereiro 5, 2014 Eu uso bastante o segundo e o terceiro exemplo mostrado pelo @Marcielo, gosto porque encurta bastante e acho que fica melhor para ler o código. Mas este exemplo abaixo eu desconhecia: Citar Não me recordo se funciona em outras linguagens, mas em PHP caso a condição seja verdadeira e nada tenha sido especificado para a condição verdadeira o PHP retorna o próprio valor da condição. $foo = null; var_dump($foo ?: 10); // int(10) $foo = 20; var_dump($foo ?: 10); // int(20) O do Javascript mostrado pelo @Henrique Barcelos eu ainda não me acostumei a usar no JS...acho estranho embora seja super simples rsrs Compartilhar este post Link para o post Compartilhar em outros sites
Lucas Guima 164 Denunciar post Postado Fevereiro 5, 2014 Eu procuro usar apenas em atribuições. Compartilhar este post Link para o post Compartilhar em outros sites
lipe760 0 Denunciar post Postado Fevereiro 12, 2014 vlw, Galera! Marcielo, muito obrigado! Seus exemplos foram esclarecedores. Espero que sirva para outras pessoas. Abç! Compartilhar este post Link para o post Compartilhar em outros sites