▶ 객체(object)
javascript는 객체 기반의 스크립트 언어이며 javascript를 이루고 있는 거의 모든 것은 객체이다.
객체란 여러 속성을 하나의 변수에 저장할 수 있도록 해주는 데이터 타입으로 key, value pair를 저장할 수 있는 구조이다
▷ 객체 구문
var user = new user(); // "object constructor" syntax
var user = {}; // "object literal" syntax
var user = {
name: "Surim Son",
age: 22
};
▷ 객체의 특징
객체는 변수이다. 그러나 객체에는 많은 값이 포함될 수 있다.
객체는 중괄호 표기를 이용하여 만들 수 있다
객체는 각각의 key/value에 대한 정보를 나열할 수 있다
key는 문자열 또는 기호여야 한다
value는 모든 유형이 될 수 있다
객체는 한 쌍의 key/value 뒤에 쉼표를 이용하여 그 뒤에 오는 key/value와 구분해주어야 한다
객체에서 명명된 값을 properties라고 한다
변수는 예약어의 이름을 가질 수 없지만 객체는 어떠한 이름이어도 상관없다
객체 변수를 복사하면 참조가 복사되고 객체가 복제되지 않는다 - 객체는 참조에 의한 전달 (pass-by-reference) 방식을 전달된다
let user = {name : "john"};
let admin = user; // copy the reference
▷ 객체의 종류
배열
함수
객체
날짜
수학
정규표현식
boolean (new로 정의된 경우)
숫자 (new로 정의된 경우)
문자열 (new로 정의된 경우)
Script에서 원시값을 제외한 모든 JavaScript값은 객체이다.
● 원시값 : 어떤 특성 또는 방법이 없는 값
● 기본 데이터 형식 : 원시 값을 갖는 데이터
▷ 객체가 아닌 기본 데이터 유형
string
number
boolean
null
undefined
▶ 프로퍼티 (property)
property는 객체의 속성을 나타내는 접근 가능한 이름과 활용 가능한 값을 가지는 특별한 형태이다
특정 객체가 가지고 있는 정보를 품고 있어 그 객체가 가진 정보에 직접적으로 접근할 수 있게 해준다
● key : 빈 문자열을 포함한 모든 문자열 또는 symbol 값
● value : 모든 값
var obj = {};
obj.a = 1; // . 연산자를 이용해 a라는 이름의 property를 생성해 1이라는 값을 할당한다
* property 추가 시 주의할 점!
1. property 값을 할당하지 않는 경우
javascript에서 사용하는 변수는 값을 할당하지 않고 선언만 할 경우에 자동적으로 undefined 가 할당된다
하지만 객체의 정보를 담고 있어야 할 요소가 아무것도 담고 있지 않으면 객체로서 필요없기에 property를 추가하면서 값을 할당하지 않으면 syntax error가 뜬다
* property 삭제
반드시 delete라는 keyword를 사용해 삭제해야 한다
▶ 객체 생성 방법
객체 리터럴 사용해 단일 객체를 정의하고 만든다
var person = {
firstName:"John",
lastName:"Doe",
age:50,
eyeColor:"blue"
};
▶ 객체 접근 방법
console.log(person['firstname']);
console.log(person.lastname);
▶ 객체 추가 방법
var person = {
name : 'hong'
};
person.age = 23;
person['area'] = 'seoul';
'programming > beginner' 카테고리의 다른 글
[js] template literal (0) | 2022.09.11 |
---|---|
[js] null, undefined (0) | 2022.09.11 |
[js] datatype (literal, string, number, array, object, null, undefined) (0) | 2022.09.11 |
[js] operator (0) | 2022.09.11 |
[js] variable (0) | 2022.09.09 |