관리 메뉴

KorSA

[ JavaScript ES 6 ] 함수 본문

Knowledge Wiki/Javascript

[ JavaScript ES 6 ] 함수

Praiv. 2021. 12. 16. 18:07
320x100

1. 함수를 constructor로 사용할 수 있음

function machine(){
	this.name = 'mac';
}

var obj = new machine();

 

2. 함수는 축약 가능

// 축약 전
var func = function(a){
	return a + 10;
}

// 축약 후
var func = a => a + 10;

 

3. 함수 파라미터가 전체 개수보다 적게 전달인자로 넣어도 에러가 안남.

4. 함수의 default 파라미터

// 초기값을 넣을 수 있음
function add(a, b = 10){
	console.log(a + b);
}

add(1); // "11"

// 연산도 넣을 수 있음
function add2(a, b = a * 2){
	console.log(a + b);
}

add2(1); // "3"


// 함수도 넣을 수 있음
function subAdd(){
	return 10;
}

function add3(a, b = subAdd()){
	console.log(a + b);
}

add3(1); // "11"


5. 함수의 arguments

function myFunc(a, b, c){
	console.log(arguments);
}

myFunc(1, 2, 3); // 1 2 3


6. 함수 Rest 파라미터
    전달인자로 넘어오는 모든 객체들을 [ ]에 보관해줌.
    arguments는 모든 파라미터밖에 못 담지만,
    Rest 파라미터는 담고 싶은 전달인자들의 범위를 지정해줄 수 있음.
    ...rest는 파라미터가 몇개 들어올지 미리 지정안해줘도 됨.
    Rest 파라미터는 함수 선언 시 파라미터들의 제일 마지막에만 써야 함.

function restFunc(...rest){
	console.log(rest);
}

restFunc(1,2,3,4,5,6,7); // 1 2 3 4 5 6 7


    ... 의 뜻은 Spread 파라미터, rest 파라미터 두 가지 의미이다.

7. Array, Object는 Reference data type

8. constructor

// 함수랑 선언하는 방식은 동일한데 관습적으로 함수명의 첫 글자를 대문자로 작성
function Student(myName){
	// this는 새로 생성되는 object를 뜻함
	this.name = myName;
	this.age = 15;
	sayHi(){
	}
	sayHi2 : function(){
		console.log('hello I'm ' + this.name);
	}
}

 

 

 

728x90
728x90
Comments