본문 바로가기

프론트앤드 수업

[javascript] 객체의 선언 및 복사

728x90
// 객체의 종류
        // 1. 배열 2. 함수 3. 날짜 4. 수학
        // 5. boolean은 객체일 수 있음(new 키워드로 정의된경우)
        // 6. 숫자도 객체일 수 있음(new 키워드로 정의된경우)
        // 7. 문자열도 객체일 수 있음(new 키워드로 정의된 경우)
        let num = new String('abc');
        console.log(typeof num);
        let user = {
            name: 'green',
            age: 32,
        }
        user['hobby'] = '독서';
        // 객체에 값을 추가함

        console.log(user.name);
        console.log(user['age']);
        console.log(user);
        delete user.age;
        console.log(user);

        for(let key in user){
            console.log(user[key]);
        } // 반복해서 user에 있는 모든값을 출력해준다.

        // 객체의 프로퍼티와 메서드
        let cat = {
            name:'naby',
            age: 3,
            weight: 4,
            sleep: function(){
                console.log('쿨쿨')
            },
            eat: function(){
                console.log('음식을먹는다')
            }
        }
        console.log(cat.name)
        cat.sleep();
        // 값 : naby , 쿨쿨
            //객체 복사
            let student1 = {
                name: 'green',
            }
            let student2 = student1;
            student1.name = 'blue';
            console.log(student2);
            console.log(student1 == student2);
            console.log(student1 === student2);
            // 값이 바뀌면 함께 값이 바뀐다. 값이 완전이 같아진다. true
            let a = {};
            let b = {};
            console.log( a==b );
            // 변수의 값은 값이 같아도 다른값이 된다. false
            let clone = {};
            for (let key in student1){
                clone[key] = student1[key];
            }
            console.log(clone===student1);
            // 복사는 for문으로 하나하나 직접 복사해야함 false
728x90
댓글