method: 객체 프로퍼티로 할당된 함수

const student = {
	name: ‘angel’,
	id: 1004,
	study: function() {
		console.log(‘공부해야지.’);
	}
}

student.study() //“공부해야지.” 출력

 →  study: function() {…} study() {…}로 줄여서 작성할 수 있음

 

 

study 메소드 안에 있는 로그에 객체의 name 프로퍼티를 넣으려면 어떻게 해야 할까?

const student = {
	name: ‘angel’,
	id: 1004,
	study() {
		console.log(`${this.name}아 공부해야지.`);
	}
}

      method에서 객체의 프로퍼티에 접근할 때, 객체의 이름으로 직접 접근하기보다 this를 사용하여 접근하는 것이 좋다.

      화살표 함수는 일반 함수와는 달리 자신만의 this를 가지지 않음

          화살표 함수 내부에서 this를 사용하면, this는 외부에서 값을 가져옴 

 

ex)         

const student = {
	name: ‘angel’,
	sayHello: () => {
		console.log(this); //전역객체
	}
}

 

 

전역객체는

-         브라우저 환경에서는 window

-         NodeJs 환경에서는 global

 

      따라서 method에서 this를 사용하여 객체의 프로퍼티에 접근할 때에는 화살표 함수는 이용하지 않는 것이 좋다.

 

 

 

↓[코딩앙마] 자바스크립트 기초 강좌 링크

https://www.youtube.com/watch?v=ZXQA4gRHqe0 

 

 

Factorial – a simple recursion

 

n! (Recursive function)

if n>0

→ n x (n-1)!

if n=0

→ 1

 

예제)

#include<iostream>

#include<cstdio>

int Factorial(int n) {

            cout<<”I am calculating F(“<<n<<”)\n”;

            if(n==0) {

                        return 1;

            }

            int F = n * Factorial(n-1);

            cout<<”Done !F(“<<n<<”) = “<<F<<”\n”;

            return F;

}

 

int main() {

            int n;

            cout<<”Give me an n: ”;

            cin>>n;

           

            int result = Factorial(n);

            cout<<result;

}

 

실행 결과)

Give me an n: 5

I am calculating F(5)

I am calculating F(4)

I am calculating F(3)

I am calculating F(2)

I am calculating F(1)

I am calculating F(0)

Done !F(1) = 1

Done !F(2) = 2

Done !F(3) = 6

Done !F(4) = 24

Done !F(5) = 120

120

 

 

 

 

 

↓ 참고 사이트

https://www.youtube.com/watch?v=_OmRGjbyzno&list=PL2_aWCzGMAwLz3g66WrxFGSXvSsvyfzCO&index=1 

 

 

 

Object

const student = {
	name: ‘angel’,
	id: 1004
}

console.log(student)


// Object {
//	id: 1004,
//	name: “angel”
// } 출력

              

Object 접근

student.name //”angel”

student[‘id’] //1004

 

Object 추가

student.major = ‘computer science’;

student[‘semester’] = 8

 

Object 삭제

delete student.semester;

 

 

Object – 단축 프로퍼티

const name = ‘angel’;
const id = 1004;
const student = {
              name: name,
              id: id,
              major: ‘computer science’
}
const student = {
              name,
              id,
              major: ‘computer science’
}

 

 

Object – 프로퍼티 존재 여부 확인

student.birthDay; //undefined

‘birthDay’ in student; //false

‘name’ in student; //true

    

 

for … in 반복문

for(let key in student) {
	console.log(key); //“name” “id” “major” 출력
	console.log(student[key]); //“angel” 1004 “computer science” 출력
}

 →  객체를 순회하면서 값을 얻을 수 있다.

 

 

함수를 통한 객체 생성

function makeObject(name, id) {
	return {
		name,
		id,
		major: “computer science”
	};
}

const student = makeObject(“angel”, 1004);
console.log(student);


//	Object {
//		id: 1004,
//		major: “computer science”
//		name: “angel”
//	} 출력

 

 

 

↓[코딩앙마] 자바스크립트 기초 강좌 링크

https://www.youtube.com/watch?v=DuXA1t6hl3U 

 

 

+ Recent posts