230605 day42 개념 정리

Jin·2023년 6월 8일
0

codenotion

목록 보기
37/90
post-thumbnail

구조분해할당 
배열과 객체의 요소 값을 다른 변수에 저장할 때 사용 

let students = ["김수민", "이나래", "김그린"]
let stu1 = students[0];
let stu2 = students[1];
let stu3 = students[2];
let [stu1, stu2, stu3] = students;

let arr = ["보라", "이"]
let [firstName, surName] = arr;

변수 교환
let guest = "jam"
let admin = "bread"
let temp = ""
temp = guest;
guest = admin;
admin = temp;
// 변수 guest에 bread를, 변수 admin엔 jam이 저장되도록 값을 교환 
[guest, admin = admin, guest];

나머지 요소 가져오기 (...)
let [name1, name2, ...rest] = ["a","b","c","d","e","f","g"]

// 나머지 요소 갯수 모를 때
function add(...rest) {
	let sum = 0;
	rest.forEach(a => {
		sim += a;
	})
}
add(1,2,3)
add(1,2)
add(1,2,3,4,5,6)


객체 구조분해 할당 
let { key1, key2 } = { key1: "a", key2: "b" }
let user = {
	name: "green",
	age: "30",
}
let name = user.name;
let age = user.age;
let { name, age } = user;


함수에서 사용 
let dog1 = { name: "구름", age: 4, color: "흰색" }

function dogPrint(obj) {
	let name = obj.name;
	let age = obj.age;
	let color = obj.color;
	
	console.log("저희 강아지 이름은 " + name + "입니다");
	console.log("저희 강아지 나이는 " + age + "입니다");
	console.log("저희 강아지 색깔은 " + color + "입니다");
}
dogPrint(dog1);

// 구조분해할당 - 전달받은 객체를 분해해 변수에 즉시 할당

function dogPrint({name, age, color}) {
	
	console.log("저희 강아지 이름은 " + name + "입니다");
	console.log("저희 강아지 나이는 " + age + "입니다");
	console.log("저희 강아지 색깔은 " + color + "입니다");
}
dogPrint(dog1);


클래스 ---> 객체를 만들어내기위한 설계도

class Person {
	// 생성자 함수
	constructor(name, age) {
		this.name = name;
		this.age = age;
	}
	speak() {
		console.log("hello");
	}
}

const green = new Person("green", 30);


상속과 다형성 
1. 상속 키워드 - extends
2. 메소드 재정의 - 오버라이딩
profile
신입 개발자의 배웠던 것을 복습하기 위한 블로그입니다.

0개의 댓글