SORU
24 Ocak 2009, CUMARTESİ


&Quot;boş birleşiyor" JavaScript operatör var mı?

Javascript boş birleşiyor bir operatör var mı?

C örneğin,#, ben bunu yapabilirsiniz:

String someString = null;
var whatIWant = someString ?? "Cookies!";

Javascript çözebilirim iyi yaklaşım koşullu operatörü kullanarak

var someString = null;
var whatIWant = someString ? someString : 'Cookies!';

İğrenç IMHO sayılır. Daha iyisini yapabilir miyim?

CEVAP
24 Ocak 2009, CUMARTESİ


C# null coalescing operatörü (??) JavaScript eşdeğer bir mantıksal VEYA (||) kullanarak

var whatIWant = someString || "Cookies!";

Davranış C ile aynı olmayacak davalar (aşağıda açıklık) var# ama bu JavaScript varsayılan/alternatif değerler atayarak, genel, kısa ve öz yoludur.

< / ^ hr .

Açıklama

Eğer bir Boolean değerine çevrim, Eğer ilk işlenen türü ne olursa olsun, false atama sonucu ikinci işlenen kullanacaktır. Tüm durumlarda, aşağıda dikkat edin:

alert(Boolean(null)); // false
alert(Boolean(undefined)); // false
alert(Boolean(0)); // false
alert(Boolean("")); // false
alert(Boolean("false")); // true -- gotcha! :)

Bu şu anlama gelir:

var whatIWant = null || new ShinyObject(); // is a new shiny object
var whatIWant = undefined || "well defined"; // is "well defined"
var whatIWant = 0 || 42; // is 42
var whatIWant = "" || "a million bucks"; // is "a million bucks"
var whatIWant = "false" || "no way"; // is "false"

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Chriselle Lim

    Chriselle Li

    26 Ocak 2008
  • HouseholdHacker

    HouseholdHac

    6 Kasım 2007
  • HSmasteryoda .

    HSmasteryoda

    22 Ocak 2010