객체
자바스크립트는 객체 기반으의 프로그래밍 언어이며, 자바스크립트를 구성하는 거의 모든 것은 객체입니다.
원시 값을 제외한 나머지 값은 모두 객체입니다.
원시 타입은 단 하나의 값만 나타내지만 객체 타입은 다양한 타입의 값을 하나의 단위로 구성한 복합적인 자료구조입니다.
원시 값 변경이 불가능한 값이지만 객체 타입의 값은 변경이 가능합니다.
객체는 0개 이상의 프로퍼티로 구성된 집합이며, 프로퍼티는 키와 값으로 구성됩니다.
함수도 프로퍼티 값으로 사용할 수 있는데 프로퍼티 값이 함수일 경우, 일반 함수와 구분하기 위해
메서드라 부릅니다.
프러퍼티와 메서드의 역할은 다음과 같습니다.
프러퍼티 : 객체의 상태를 나타내는 값(data)
메서드: 프러퍼티(상태 데이터)를 참조하고 조작할 수 있는 동작
이처럼 객체는 객체의 상태를 나타내는 값(프러퍼티)와 프로퍼티를 참조하고 조작할 수 있는 동작(메서드)을 모두 포함할 수 있기 때문에 상태와 동작을 하나의 단위로 구조화할 수 있어 유용합니다!
객체 리터럴에 의한 객체 생성
자바스크립트에서 객체 생성 방법은 다음과 같습니다.
- 객체 리터럴
- Object 생성자 함수
- 생성자 함수
- Object.create 메서드
- 클래스
위의 객체 생성 방법 중에서 가장 일반적이고 간단한 방법은 객체 리터럴을 사용하는 방법입니다.
객체 리터럴은 중괄호({...}) 내에 0개 이상의 프로퍼티를 정의합니다.
변수에 할당되는 시점에 자바스크립트 엔진은 객체 리터럴을 해석해 객체를 생성합니다.
var person = {
name: 'Nerd',
sayHello: function () {
console.log(`Hello! My name is ${this.name}.`;
}
};
console.log(typeof perseon); // object
console.log(person) // {name: "Nerd", sayHello: f}
만약 중괄호 내에 프로퍼티를 정의하지 않으면 빈 객체가 생성됩니다.
객체 리터럴에서 주의할 것은 중괄호는 코드 블록을 의미하지 않는다는 것입니다.
코드 블록의 닫는 중괄호 뒤에는 세미콜론을 붙이지 않습니다.
하지만 객체 리터럴은 값으로 평가되는 표현식이기에 닫는 중괄호 뒤에 세미콜론을 붙입니다.
오늘은 클론코딩을 하기에 앞서 백엔드분들과 api설계를 했습니다!
처음이라 너무 어려운 단어들도 많이 나오고 낯설었지만
협업을 하는게 체감이 되었고 팀에게 피해를 끼칠까 봐 무섭기도 했지만 설레기도 했습니다!
아직은 많이 어렵지만 피해가 끼치지 않게끔 열심히 노력해서 성공적으로 프로젝트를 마무리할 것입니다!
또한, 협업으로 인해 자바스크립트 문법 공부를 전처럼 많은 분량을 하지는 못하더라도
하루의 일과를 마무리하고 자바스크립트 문법 공부를 틈틈히 할 예정입니다!
처음에는 익숙치않고 어려워도 노력은 배신하지 않는다는 것을 배웠기에 열심히 노력하겠습니다!
다들 화이팅!!
'자바스크립트' 카테고리의 다른 글
TIL] 메서드 (0) | 2021.07.19 |
---|---|
TIL] 프로퍼티 (0) | 2021.07.18 |
TIL] 타입변환과 단축 평가 (0) | 2021.07.15 |
TIL] 제어문 (0) | 2021.07.14 |
TIL] 연산자 (0) | 2021.07.14 |