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