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