Jawaban:
var o = {
r: 'some value',
t: 'some other value'
};
secara fungsional setara dengan
var o = new Object();
o.r = 'some value';
o.t = 'some other value';
Dan juga, titik dua dapat digunakan untuk melabeli pernyataan. sebagai contoh
var i = 100, j = 100;
outerloop:
while(i>0) {
while(j>0) {
j++
if(j>50) {
break outerloop;
}
}
i++
}
Kalian lupa bahwa titik dua juga digunakan dalam operator ternary (meskipun saya tidak tahu apakah jquery menggunakannya untuk tujuan ini).
operator ternary adalah bentuk ekspresi (ekspresi mengembalikan nilai) dari pernyataan if / then. digunakan seperti ini:
var result = (condition) ? (value1) : (value2) ;
Seorang operator ternary juga dapat digunakan untuk menghasilkan efek samping seperti jika itu, tetapi ini adalah praktik yang sangat buruk.
Pada dasarnya ':' adalah pembatas untuk pasangan nilai kunci. Dalam contoh Anda itu adalah notasi Literal Objek Javascript.
Dalam javascript, Objek didefinisikan dengan titik dua yang membatasi pengidentifikasi untuk properti, dan nilainya sehingga Anda dapat memiliki yang berikut ini:
return {
Property1 : 125,
Property2 : "something",
Method1 : function() { /* do nothing */ },
array: [5, 3, 6, 7]
};
dan kemudian gunakan seperti:
var o = {
property1 : 125,
property2 : "something",
method1 : function() { /* do nothing */ },
array: [5, 3, 6, 7]
};
alert(o.property1); // Will display "125"
Subset dari ini juga dikenal sebagai JSON (Javascript Object Notation) yang berguna dalam panggilan AJAX karena ringkas dan cepat untuk diuraikan dalam bahasa sisi-server dan Javascript dapat dengan mudah mendisialisasi serialisasi string JSON menjadi objek.
// The parenthesis '(' & ')' around the object are important here
var o = eval('(' + "{key: \"value\"}" + ')');
Anda juga dapat memasukkan kunci di dalam tanda kutip jika itu berisi semacam karakter atau spasi khusus, tetapi saya tidak akan merekomendasikan itu karena itu hanya membuat segalanya lebih sulit untuk dikerjakan.
Perlu diingat bahwa Notasi Literal Objek JavaScript dalam bahasa JavaScript berbeda dari standar JSON untuk pengiriman pesan. Perbedaan utama antara 2 adalah bahwa fungsi dan konstruktor bukan bagian dari standar JSON , tetapi diizinkan dalam objek JS literal.
Ini adalah bagian dari sintaks literal objek. Format dasar adalah:
var obj = { field_name: "field value", other_field: 42 };
Kemudian Anda dapat mengakses nilai-nilai ini dengan:
obj.field_name; // -> "field value"
obj["field_name"]; // -> "field value"
Anda bahkan dapat memiliki fungsi sebagai nilai, pada dasarnya memberi Anda metode objek:
obj['func'] = function(a) { return 5 + a;};
obj.func(4); // -> 9
Ini dapat digunakan untuk membuat daftar objek dalam suatu variabel. Juga, digunakan sedikit dalam singkatan kalimat if:
var something = {face: 'hello',man: 'hey',go: 'sup'};
Dan menyebutnya seperti ini
alert(something.man);
Juga kalimat if:
function something() {
(some) ? doathing() : dostuff(); // if some = true doathing();, else dostuff();
}
Jangan lupa pergantian pernyataan, di mana titik dua digunakan setelah setiap "kasus".
Ini umumnya adalah skenario di mana titik dua ':' digunakan dalam JavaScript
1- Mendeklarasikan dan Menginisialisasi Objek
var Car = {model:"2015", color:"blue"}; //car object with model and color properties
2- Mengatur Label (Tidak dianjurkan karena menghasilkan struktur kontrol yang rumit dan kode Spaghetti)
List:
while(counter < 50)
{
userInput += userInput;
counter++;
if(userInput > 10000)
{
break List;
}
}
3- Dalam Pernyataan Switch
switch (new Date().getDay()) {
case 6:
text = "Today is Saturday";
break;
case 0:
text = "Today is Sunday";
break;
default:
text = "Looking forward to the Weekend";
}
4- Di Operator Ternary
document.getElementById("demo").innerHTML = age>18? "True" : "False";
||. Contoh: var a = false, b = a || 'Default value';setara denganvar a = false, b = a : 'Default value';
Itu JSON, atau Notasi Objek JavaScript. Ini adalah cara cepat untuk menggambarkan objek, atau peta hash. Hal di depan titik dua adalah nama properti, dan hal yang setelah titik dua adalah nilainya. Jadi dalam contoh ini, ada properti "r", yang nilainya adalah apa pun yang ada di variabel r. Sama untuk t.
Satu kesalahan bodoh yang saya lakukan beberapa waktu lalu yang mungkin membantu beberapa orang.
Ingatlah bahwa jika Anda menggunakan ":" dalam acara seperti ini, nilainya tidak akan berubah
var ondrag = (function(event, ui) {
...
nub0x: event.target.offsetLeft + event.target.clientWidth/2;
nub0y = event.target.offsetTop + event.target.clientHeight/2;
...
});
Jadi "nub0x" akan menginisialisasi dengan peristiwa pertama yang terjadi dan tidak akan pernah mengubah nilainya. Tapi "nub0y" akan berubah selama acara berikutnya.
event.target.offsetLeft + event.target.clientWidth/2;tersebut berjalan setiap kali metode ondrag Anda dipanggil, tetapi tidak pernah menetapkan nilai kenub0x
:diperlakukan seolah-olah itu adalah ||. Karena itu, event.target.offsetLeft + event.target.clientWidth/2;hanya akan memicu setiap kali disediakan nub0xsama dengan false.
Penggunaan lain titik dua dalam JavaScript adalah mengubah nama variabel, yaitu:
const person = {
nickNameThatIUseOnStackOverflow: "schlingel",
age: 30,
firstName: "John"
};
const { nickNameThatIUseOnStackOverflow: nick } = person; // I take nickNameThatIUseOnStackOverflow but want to refer it as "nick" from now on.
nick = "schling";
Ini berguna jika Anda menggunakan perpustakaan pihak ketiga yang mengembalikan nilai yang memiliki nama variabel canggung / panjang yang ingin Anda beri nama baru dalam kode Anda.