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);
}
}
반응형
'Knowledge Wiki > Javascript' 카테고리의 다른 글
[ JavaScript ES 6 ] 변수 Hoisting 현상 (0) | 2021.12.16 |
---|---|
[ JavaScript ES 6 ] 변수 let, const (0) | 2021.12.16 |
[ JavaScript ES 6 ] 전역변수 (0) | 2021.12.16 |
[ JavaScript ES 6 ] Arrow Function (0) | 2021.12.16 |
[ JavaScript ES 6 ] strict 모드 (0) | 2021.12.16 |