ECMAScript 6 은 ES6 또는 ECMAScript 2015 로 불린다.
ES6 새로운 기능
- let
- const
- 지수연산자 **
- Default parameter values
- Array.find()
- Array.findIndex()
let
Block Scope 변수를 만들 때 사용합니다.. ES6 이전에는 JavaScript에 Block Scope이 없었습니다.
var x = 5;
{
let x = 2;
// x = 2
}
// x = 5
const
const 는 값을 변경할 수 없다는 점을 제외하면 let 과 동일합니다. const 변수 초기화 이후에 값을 할당하면 Uncaught TypeError: Assignment to constant variable. 에러를 발생시킴
var x = 5;
{
const x = 3;
// x = 3
}
// x = 5
지수연산자 (**)
지수연산자 ** 는 첫번째 값에 두번째 값으로 제곱연산을 한다.
var x = 5;
var z = x ** 3;
//z = 125 -- 5의 3제곱
Default parameter values
function을 선언할 때 parameter 에 초기값을 지정할 수 있습니다.
function myFunction(x, y = 10) {
return x + y;
}
myFunction(5); //return 15
Array.find()
find() method는 배열의 각 요소에 대해 function를 한 번 씩 실행합니다. function가 실제 값을 반환하는 배열 요소를 찾으면 값을 반환하고 나머지 요소는 확인하지 않는다. function이 배열 요소에서 실제 값을 찾지 못하면 undefined를 반환합니다.
function은 3개의 arguments를 갖는다.
- value
- index
- array
var numbers = [10, 20, 30, 40];
var first = numbers.find(myFunction);
function myFunction(value, index, array) {
return value > 20;
}
// first = 30
Array.findIndex()
findIndex() method는 배열의 각 요소에 대해 function를 한 번 씩 실행합니다. function가 실제 값을 반환하는 배열 요소를 찾으면 index 를 반환하고 나머지 요소는 확인하지 않는다. function이 배열 요소에서 실제 값을 찾지 못하면 -1 을 반환합니다.
function은 3개의 arguments를 갖는다.
- value
- index
- array
var numbers = [10, 20, 30, 40];
var first = numbers.findIndex(myFunction);
function myFunction(value, index, array) {
return value > 20;
}
// first = 2
var numbers = [10, 20, 30, 40];
var first = numbers.findIndex(myFunction);
function myFunction(value, index, array) {
return value > 50;
}
// first = -1