JS - Object (0)

Moonshot·2022년 4월 28일
0

Javascript

목록 보기
3/5

Object 기본

var person = {
	fName: "doil",
  	lName: "Ji",
  	greet: function(){
    	console.log("hi");
    }
}

for(const prop in person) {
	console.log("name: " + prop);
  	console.log("value: " + person[prop]);
};


const properties = Object.keys(person);
console.log(properties);

Object Property 변경하기

    const obj = {
        type: "rectangle",
        width: 100,
        height: 200
    };

    console.log(obj);
    obj.propertyIsEnumerable("type"); // true
    Object.defineProperty(obj, "type", {enumerable: false}); // 오브젝트 프로퍼티를 숨기고 싶을때 사용
    obj.propertyIsEnumerable("type"); // false
    console.log(obj); // 숨겨진 프로퍼티는 접근할 수 없다.

    // 오브젝트 프로퍼티 삭제
    delete obj.type; 
    console.log(obj);

    // 오브젝트 프로퍼티 추가
    obj.type = "rectangle";
    console.log(obj);

"use strict"

// use strict를 추가하면 에러메세지를 볼 수 있다.
"use strict"

object 얼리기

// use strict를 추가하면 에러메세지를 볼 수 있다.
"use strict"
var obj = {
	name: "doil",
  	age: 11,
  	city: "seoul",
  	born: "Jan 10, 2050"
  	role: "admin"
};

//poperty 수정 불가
Object.defineProperty(
	obj, "role:, {writable: false}
);

//Seal: property 추가 가능, 수정불가
Object.seal(obj);
obj.name = "john";

//freez: 모든 변경 불가
Object.freeze(obj);
obj

ES6 Object Features.


	// 참조당할 펑션을 갖고 있는 프로토타입 오브젝트
	cont protoObj = {
    	fullName() {
        	console.log(this.fName + " " + this.lName)
        };
    }

	// 펑션이 없어서 프로토 오브젝트를 참조하려는 오브젝트
	const obj = {
    	fName: "doil",
      	lName: "Ji"
    };
	
Object.setPrototype(obj, protoObj);
obj.fName();
	// 첫번째 아규먼트 오브젝트에 후속 오브젝트의 프로퍼티들이 귀속됨.
	const obj = { a: 1};
	const objB = { b: 1};
	const objC = { c: 1};
	const objD = { d: 1};
Object.assign(obj,objB,objC,objD);
console.log(obj);
profile
Jidoil

0개의 댓글