동작 = method
이라 부른다.const obj1 = {} // object literal
const obj2 = new Object() //object constructor
function print(person){
console.log(person.name)
console.log(person.age)
}
const ellie = {name: 'ellie', age: 4}
console.log(print(ellie));
ellie.hasJob = true; //추가
console.log(ellie.hasJob) //가능하면 피하는 방법
delete ellie.hasJob //삭제
console.log(ellie.hasJob)
{
name: 'lee',
age: 30,
sayMyname(): function(){
console.log('my name is' + this.name)
}
}
.
과 []
를 사용한다.[]
대괄호를 이용해서 배열에서 데이터를 받아오는 것처럼 사용가능하다.console.log(ellie.name)
console.log(ellie['name']) //string형태로 접근
프로퍼티는 key string타입으로 해야한다는 점을 주의!
[언제 대괄호를 사용하는지?]
.
은 오브젝트의 기에 해당하는 값을 받아오고 싶을 때 사용[]
는 정확하게 어떤 키가 필요한지 모를때 사용 (런타임 환경에서 결정)function printValue(obj, key){
console.log(obj[key])
}
printValue(elle, 'name') //undifined
printValue(elle, 'age')
function Person(name, age){
//this = {};
this.name = name;
this.age = age;
// return this
}
const person4 = new Person('ellie', 4)
function Person(name, age){
//this = {};
this.name = name;
this.age = age;
// return this
}
const person4 = new Person('ellie', 4)
Object.create(proto)
Object.create(proto, propertiesObject)
function Person(name) {
this.name = name
}
Person.prototype.sayMyName = function () {
console.log("my name is " + this.name)
}
function Student() {
Person.apply(this, arguments)
}
Student.prototype = Object.create(Person.prototype)
console.log('name' in ellie) //true
console.log('age' in ellie) //true
console.log('random' in ellie) //false
[for (key in obj)]
for(key in ellie){
console.log(key)
}
[for (key of obj)]
const array = [1, 2, 3, 4, 5]
for(value of array){
console.log(value)
//array에 있는 모든 값들이 value에 할당되서 돌아가면서 출력한다.
}
[Object.assing]
object.assign(dest, [obj1, obj2, obj3 ... ])
const user = {name: 'ellie', age: '20'}
const user2 = user //user와 동일한 reference가 들어있다.
user2.name = 'coder'
console.log('user: ', user); //name : coder
object.assign(dest, [obj1, obj2, obj3 ... ])
const user = {name: 'ellie', age: '20'}
const user4 = Object.assign({}, user)
const fruit1 = {color: 'red'}
const fruit2 = {color: 'blue', size: 'big'}
const mixed = Object.assign({}, fruit1, fruit2)
console.log(mixed.color) // blue