Wecode 9일차

김상연·2021년 2월 24일
0

wecode

목록 보기
9/42

08:00 ~ 09:00 헬스장
10:00 위코드 도착

위코드를 다닌지 벌써 일주일이 넘어가고있다. 아직은 코딩의 기본지식만 배우는 데도 따라가기 버겁지만 운동도 꾸준히 하고 있고 매일 오전 열시부터 열시까지 코딩하고 있지만 이번 주부터는 집에 와서도 블로그 정리와 개념 정리를 좀 더 착실히 하고 있다.

Class

클래스는 객체지향 프로그래밍의 핵심이다.
객체지향 프로그래밍이란 프로그램을 객체로 구성, 객체들 간에 서로 상호작용하도록 작성하는 방법.

원하는 구조의 객체 틀을 짜놓고, 비슷한 모양의 객체를 공장처럼 찍어낼 수 있다.
큰 규모의 객체이거나 비슷한 모양의 객체를 계속 만들어야 할 때, class라는 설계도를 통해 만들 수 있다.

객체란 서로 연관된 변수와 함수를 그룹화한 그릇이라 볼 수 있음. 객체 내의 변수를 프로퍼티, 함수를 메소드라고 부른다.

let person = {
	'name': 'sang yeon',
    'introduce': function(){
    	return 'My name is '+this.name;
    }
}
console.log(person.introduce()); // Output : 'My name is sang yeon'

만약 다른 사람의 이름을 담을 객체가 필요하다면 객체의 정의를 반복해야 한다. 객체의 구조를 재활용하는 방법이 있는데 이 때 사용하는 것이 생성자(constructor)이다.

생성자는 객체를 만드는 역할을 하는 함수.

함수를 호출할 때 new를 붙이면 새로운 객체를 만든 후 이를 리턴한다.

function Person(){
let p = new Person();
p.name = 'sang yeon'
p.introduce = function(){
	return 'My name is '+this.name;
}
console.log(p.introduce()); Output : 'My name is sang yeon'

let p2 = new Person();
p2.name = 'ha yeon';
p2.introduce = function(){
	reutnr 'My name is '+this.name;
}
console.log(p2.introduce()); Output : 'My name is ha yeon'

생성자 내에서 이 객체의 프로퍼티를 정의하고 있다. 이러한 작업을 초기화라고 함. 이를 통해 코드의 재사용성이 높아짐.

코드를 통해 알 수 있듯이 생성자 함수는 일반함수와 구분하기 위해 첫글자를 대문자로 표시.

arrow function

function을 표현하는 법을 간단히 바꾼 것을 화살표 함수라 지칭

//ES 5
function() {}
function getName() {}

//ES 6
() => {}
const getName = () => {}

이름이 있는 함수를 만들 때는 아래와 같다.

//ES 5
function getName() {}

//ES 6
const getName = () => {}

호출할 때는 둘 다 똑같이 getName()

변수 저장도 가능

//ES5
const getName = function(name) {}

//ES6
const getName = name => {}

인자가 하나일 때는 소괄호 생략 가능
두 개일 때는 불가

//ES5
function hi(text) {
  text += '하세요';
  return text;
}


//ES6
const hi = text => { 
  text += '하세요';
  return text 
};

함수가 만약 실행내용이 딱히 없이 return만 한다면 return 키워드와 중괄호 생략 가능

0개의 댓글