//프로퍼티 : 객체는 프로퍼티의 집합, 프로퍼티는 키와 값으로 구성
{
let person = {
name:'Lee',
age:20
}
console.log(person)
}
//문자열 또는 문자열로 평가할수 있는 표현식은 프로퍼티 키를 생성할때 동적으로 생성 가능 , 이 경우 프로프티 키를 대괄호로 묶어아햠
{
let obj = {};
let key = 'hello';
obj[key] = 'world'
console.log(obj)
}
{
let person = {
'last-name': 'lee',
1:10,
hello:'world'
}
person['last-name'];//lee
person['1']//10
person['hello']//world
}
//key 값으로 빈문자열, 식별자네이밍규칙(카멜표기)준수하지 않은 문자열, 예약어 등을 프로퍼티키로 사용해도 되지만 권장하진 않는다.
//키 중복 선언시 후선언 프로퍼티가 덮어쓴다.
{
let foo = {
name:'lee',
name:'kim'
}
console.log(foo)
}
//이미 존재하는 프로퍼티에 값 할당시 프로퍼티값 갱신
{
let person = {
name:'kim'
}
person['name'] = 'li'
console.log(person)
}
//delete연산자로 프로퍼티 삭제
{
let person = {
name:'kim'
}
delete person['name'];
person.address = "seoul"
console.log(person)//{adress:'seoul'}
}