1️⃣ function 키워드를 생략한 메서드 축약표현을 사용한다.
ㅤ
2️⃣ 객체 리터럴과는 다르게 클래스에 메서드를 정의할 때는 콤마가 필요하다.
ㅤ
3️⃣ 암묵적으로 strict mode로 실행된다.
ㅤ
4️⃣ for ... in 문이나 Object.keys 메서드 등으로 열거할 수 없다. 즉, 프로퍼티의 열거 가능 여부를 나타내며, 불리언 값을 갖는 프로퍼티 어트리뷰트[[Enumerable]]
의 값이 false다.
ㅤ
5️⃣ 내부 메서드[[Construct]]
를 갖는 constructor다. 따라서 연산자와 함께 호출할 수 있다.
1️⃣ 매개 변수가 없는 경우를 제외하고 소괄호
()
를 생략할 수 있다.
ㅤ
2️⃣ 함수 몸체가 하나의 문으로 구성된다면 함수 몸체를 감싸는 중괄호{}
를 생략할 수 있다.
ㅤ
3️⃣ 객체 리터럴을 반환하는 경우 객체 리터럴을 중괄호{}
로 감싸 주어야한다.
ㅤ
4️⃣ 함수 몸체가 여러개의 문으로 구성된다면 함수 몸체를 감싸는 중괄호{}
를 생략할 수 없다
ㅤ
5️⃣ 화살표 함수도 즉시 실행 함수로 사용할 수 있다.
아래 코드는
1. 1~100사이에 랜덤숫자를 중복되지 않는 난수로 10개를 생성합니다.
2. 그 후 오름차순으로 정렬한 후 추출하고,
3. 합계를 구한 것도 추출해야 합니다.
let randomNumberArr = [];
for(let i = 0; i <= 10; i++){
const randomNumber = Math.floor(Math.random() * 100) + 1;
if(!randomNumberArr.빈칸(randomNumber)){
randomNumberArr.빈칸(randomNumber)
}else{
i--
}
}
randomNumberArr.빈칸((num1, num2) => num1 - num2);
const result = randomNumberArr.빈칸((pre, cur) => pre + cur, 0)
console.log(randomNumberArr);
console.log(result);
2️⃣ 객체 리터럴과는 다르게 클래스에 메서드를 정의할 때는 콤마가 필요 없다.
5️⃣ 내부 메서드 [[Construct]]를 갖지 않는 non-constructor다. 따라서 new 연산자와 함께 호출할 수 없다.
1️⃣ 매개변수가 하나인 경우에만 생략할 수 있다.
3️⃣ 객체 리터럴을 반환하는 경우 객체 리터럴을 "소괄호()
로" 감싸 주어야한다.
let randomNumberArr = [];
for(let i = 0; i <= 10; i++){
const randomNumber = Math.floor(Math.random() * 100) + 1;
if(!randomNumberArr.includes(randomNumber)){
randomNumberArr.push(randomNumber)
}else{
i--
}
}
randomNumberArr.sort((num1, num2) => num1 - num2);
const result = randomNumberArr.reduce((pre, cur) => pre + cur, 0)
console.log(randomNumberArr);
console.log(result);