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 }

예약 된 키워드

자바 스크립트는 예약 된 키워드를 객체의 속성 이름으로 허용하지 않습니다. 사용하려면 큰 따옴표로 묶어야합니다. " ".

다음 예를 고려하십시오. 여기에 이름이있는 속성을 만들었습니다.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