Programming/Javascript

드림코딩 by 엘리. JavaScript 기초 강의(7) - What is the object?

i독 2021. 10. 7. 04:13

primitive type 변수는 하나의 정보만을 다룰 있음.

 

인자가 많아 때에 많은 것을 관리해야 . (변수 추가, Function 추가)

 

const obj1 = {} // object literal syntax

const obj2 = new object() // object constructor syntax

 

object key, value 쌍으로 이루어진 집합체.

 

computed properties > ellie['name'] = string 값으로 properties 접근 있음.

runtime에서 결정될 사용하면 매우 편하다.

example) function printValue(obj, key) { console.log(obj[key]) } 통해서 동적 접근 가능.

 

Property value shorthand > 순수하게 object 생성하는 함수들은 보통 대문자로 선언한다.

해당 기능이 있기에 key value 이름이 동일하다면 생략 가능하다.

example) function makePerson(name, age) { return {name : name, age : age} )

기존 1 > function makePerson(name, age) { return {name, age} ) key value 이름이 같기에 생략 .

기존 2 > function Person(name, age) { this.name = name; this.age = age ) > constructor function으로 부르기 위해 대문자 선언.

 

in operator > property existence check ( Key in object )

example) console.log('name' in ellie)

 

for..in vs for..of >

example)

for (Key in ellie) { console.log(key) } block 마다 obj 접근.

모든 obj 탐색하고 싶을 사용.

for(let I = 0; I < array.length; i++) { console.log(array[i]) } -> for(value of array) { console.log(value) }

배열과 같은 배열 List 접근하기 위해 사용.

 

cloning >

example)

old ways - for (key in user) {user3[key] = user[key] } 복사하였음. 새로운 메모리를 선언하고 데이터를 복사한 경우

new ways - Object.assing(user4, user) Object 함수를 이용하여 코드 작성에 용이해짐.

다중 할당 가능 = Object.assign return 값은 object 이므로 const mixed = Object.assing({}, fruit1. fruit2) 형식으로 사용 가능.