CoffeeScript - วัตถุ
วัตถุใน CoffeeScript คล้ายกับใน JavaScript นี่คือชุดของคุณสมบัติโดยที่คุณสมบัติมีคีย์และค่าคั่นด้วยเซมิโคลอน (:). กล่าวโดยย่ออ็อบเจ็กต์ CoffeeScript คือชุดของคู่คีย์ - ค่า วัตถุถูกกำหนดโดยใช้วงเล็บปีกกาวัตถุว่างจะแสดงเป็น{}.
ไวยากรณ์
ด้านล่างเป็นไวยากรณ์ของวัตถุใน CoffeeScript ที่นี่เราวางคู่คีย์ - ค่าของวัตถุไว้ในวงเล็บปีกกาและคั่นด้วยเครื่องหมายจุลภาค (,).
object ={key1: value, key2: value,......keyN: value}
ตัวอย่าง
ต่อไปนี้เป็นตัวอย่างของการกำหนดวัตถุใน CoffeeScript บันทึกรหัสนี้ในไฟล์ที่มีชื่อobjects_example.coffee
student = {name: "Mohammed", age: 24, phone: 9848022338 }
เปิด command prompt และรวบรวมไฟล์. coffee ตามที่แสดงด้านล่าง
> coffee -c objects_example.coffee
ในการคอมไพล์จะมี JavaScript ดังต่อไปนี้
// Generated by CoffeeScript 1.10.0
(function() {
var student;
student = {
name: "Mohammed",
age: 24,
phone: 9848022338
};
}).call(this);
เช่นเดียวกับในอาร์เรย์เราสามารถลบเครื่องหมายจุลภาคได้โดยระบุคู่คีย์ - ค่าในบรรทัดใหม่ดังที่แสดงด้านล่าง
student = {
name: "Mohammed"
age: 24
phone: 9848022338
}
การเยื้องแทนวงเล็บปีกกา
เช่นเดียวกับคำสั่งบล็อกอื่น ๆ ใน CoffeeScript เราสามารถใช้การเยื้องแทนวงเล็บปีกกา {} ดังแสดงในตัวอย่างต่อไปนี้
ตัวอย่าง
เราสามารถเขียนตัวอย่างข้างต้นใหม่ได้โดยไม่ต้องใช้วงเล็บปีกกาดังที่แสดงด้านล่าง
student =
name: "Mohammed"
age: 24
phone: 9848022338
วัตถุที่ซ้อนกัน
ใน CoffeeScript เราสามารถเขียนวัตถุภายในวัตถุได้
ตัวอย่าง
ตัวอย่างต่อไปนี้แสดงให้เห็นถึงวัตถุที่ซ้อนกันใน CoffeeScript บันทึกรหัสนี้ในไฟล์ที่มีชื่อnested_objects.coffee
contact =
personal:
email: "[email protected]"
phone: 9848022338
professional:
email: "[email protected]"
phone: 9848033228
เปิด command prompt และรวบรวมไฟล์. coffee ตามที่แสดงด้านล่าง
> coffee -c nested_objects.coffee
ในการคอมไพล์จะมี JavaScript ดังต่อไปนี้
// Generated by CoffeeScript 1.10.0
(function() {
var contact;
contact = {
personal: {
email: "[email protected]",
phone: 9848022338
},
professional: {
email: "[email protected]",
phone: 9848033228
}
};
}).call(this);
ความเข้าใจในวัตถุ
ในการทำซ้ำเนื้อหาของวัตถุเราสามารถใช้ความเข้าใจ การวนซ้ำเนื้อหาของออบเจ็กต์จะเหมือนกับการวนซ้ำเนื้อหาของอาร์เรย์ ในออบเจ็กต์เนื่องจากเราต้องเรียกคืนคีย์และค่าสององค์ประกอบเราจะใช้สองตัวแปร
ตัวอย่าง
ต่อไปนี้เป็นตัวอย่างที่แสดงวิธีการวนซ้ำเนื้อหาของวัตถุโดยใช้ความเข้าใจ บันทึกรหัสนี้ในไฟล์ที่มีชื่อobject_comprehensions.coffee
student =
name: "Mohammed"
age: 24
phone: 9848022338
console.log key+"::"+value for key,value of student
เปิด command prompt และรวบรวมไฟล์. coffee ตามที่แสดงด้านล่าง
> coffee -c object_comprehensions.coffee
ในการคอมไพล์จะมี JavaScript ดังต่อไปนี้
// Generated by CoffeeScript 1.10.0
(function() {
var key, student, value;
student = {
name: "Mohammed",
age: 24,
phone: 9848022338
};
for (key in student) {
value = student[key];
console.log(key(+"::" + value));
}
}).call(this);
ตอนนี้เปิดไฟล์ command prompt อีกครั้งและเรียกใช้ไฟล์ CoffeeScript ดังที่แสดงด้านล่าง
> coffee object_comprehensions.coffee
ในการดำเนินการไฟล์ CoffeeScript จะสร้างเอาต์พุตต่อไปนี้
name::Mohammed
age::24
phone::9848022338
อาร์เรย์ของวัตถุ
ใน CoffeeScript อาร์เรย์สามารถมีวัตถุดังที่แสดงด้านล่าง
a = [
object1_key1: value
object1_key2: value
object1_key3: value
,
object2_key1: value
object2_key2: value
object2_key3: value
]
ตัวอย่างต่อไปนี้แสดงวิธีกำหนดอาร์เรย์ของวัตถุ เราสามารถแสดงรายการคู่ค่าคีย์ของวัตถุที่เราต้องการในอาร์เรย์ได้โดยใช้เครื่องหมายจุลภาค(,).
students =[
name: "Mohammed"
age: 24
phone: 9848022338
,
name: "Ram"
age: 25
phone: 9800000000
,
name: "Ram"
age: 25
phone: 9800000000
]
console.log student for student in students
เปิด command prompt และรวบรวมไฟล์. coffee ตามที่แสดงด้านล่าง
c:\> coffee -c array_of_objects.coffee
ในการคอมไพล์จะมี JavaScript ดังต่อไปนี้
// Generated by CoffeeScript 1.10.0
(function() {
var i, len, student, students;
students = [
{
name: "Mohammed",
age: 24,
phone: 9848022338
}, {
name: "Ram",
age: 25,
phone: 9800000000
}, {
name: "Ram",
age: 25,
phone: 9800000000
}
];
for (i = 0, len = students.length; i < len; i++) {
student = students[i];
console.log(student);
}
}).call(this);
ตอนนี้เปิดไฟล์ command prompt อีกครั้งและเรียกใช้ไฟล์ CoffeeScript ดังที่แสดงด้านล่าง
c:\> coffee array_of_objects.coffee
ในการดำเนินการไฟล์ CoffeeScript จะสร้างเอาต์พุตต่อไปนี้
{ name: 'Mohammed', age: 24, phone: 9848022338 }
{ name: 'Ram', age: 25, phone: 9800000000 }
{ name: 'Ram', age: 25, phone: 9800000000 }
คำหลักที่สงวนไว้
JavaScript ไม่อนุญาตให้ใช้คีย์เวิร์ดที่สงวนไว้เป็นชื่อคุณสมบัติของอ็อบเจ็กต์หากเราต้องการใช้เราจะต้องรวมคีย์เวิร์ดโดยใช้เครื่องหมายอัญประกาศคู่ " ".
ตัวอย่าง
ลองพิจารณาตัวอย่างต่อไปนี้ ที่นี่เราได้สร้างคุณสมบัติที่มีชื่อclassซึ่งเป็นคำหลักที่สงวนไว้ บันทึกรหัสนี้ในไฟล์ที่มีชื่อreserved_keywords.coffee
student ={
name: "Mohammed"
age: 24
phone: 9848022338
class: "X"
}
console.log key+"::"+value for key,value of student
เปิด command prompt และรวบรวมไฟล์. coffee ตามที่แสดงด้านล่าง
c:\> coffee -c reserved_keywords.coffee
ในการคอมไพล์จะมี JavaScript ดังต่อไปนี้ ที่นี่คุณสามารถสังเกตได้ว่าคอมไพเลอร์ CoffeeScript ห่อคลาสคำหลักด้วยเครื่องหมายคำพูดคู่ในนามของเรา
// Generated by CoffeeScript 1.10.0
(function() {
var key, student, value;
student = {
name: "Mohammed",
age: 24,
phone: 9848022338,
"class": "X"
};
for (key in student) {
value = student[key];
console.log(key + "::" + value);
}
}).call(this);
ตอนนี้เปิดไฟล์ command prompt อีกครั้งและเรียกใช้ไฟล์ CoffeeScript ดังที่แสดงด้านล่าง
c:\> coffee array_of_objects.coffee
ในการดำเนินการไฟล์ CoffeeScript จะสร้างเอาต์พุตต่อไปนี้
name::Mohammed
age::24
phone::9848022338
class::X