반응형
[Javascript ES6] 기초 문법 6. Spread Operator
apply, call apply는 함수를 옮겨와서 실행해준다. call 또한 같은 역할을 하는데 ,apply는 배열을 파라미터로 넣어줄 수 있다.
- JavaScript/JavaScript 기초
- · 2022. 12. 20.
반응형
apply, call apply는 함수를 옮겨와서 실행해준다. call 또한 같은 역할을 하는데 ,apply는 배열을 파라미터로 넣어줄 수 있다.
Spread Operator 배열이나 문자열, 오브젝트 앞에 ... 을 붙여, 배열의 괄호를 제거해 줄 수 있다. 주로 배열을 합치거나 복사할 때 사용한다. 중괄호, 대괄호, 소괄호 안에서만 사용할 수 있는 것이 큰 특징이다. 오브젝트에 사용할 경우, 만일 값의 중복이 일어나면 '나중에 정해진 값이 저장' 된다. 함수의 파라미터 인자로 배열을 넣고 싶을 때도 사용할 수 있다.
Template Literals, Backtick 백틱기호 ` 를 이용한 문자 표현법을 Template Literals이라고 한다. 문자 중간에 변수의 값을 넣고싶은 경우, ${변수} 를 삽입해주면 된다. let 변수 = '이름' let 문자 = `문자 중간에 ${변수} 와 같이 변수를 넣을 수 있습니다.` Tagged Literals 1. ${ } 양 옆의 문자들을 배열화 해 준다. 2. 첫번째 파라미터는 문자들을, 두 번째 파라미터부터는 중간에 삽입된 변수를 뜻한다. 만일 변수가 여러개 사용되었을 경우 변수 파라미터를 여러개 넣어주어야 한다. 이를 이용해 문자열을 편하게 다룰 수 있다.
var, let, const, window js ES6에는 var, let, const라는 세 개의 변수 선언 키워드가 존재한다. var은 안정성이 매우 좋지 않기 때문에 거의 사용하지 않으며(옛날에나 사용했음), let과 const를 사용하는 것이 유즘 추세이다. 후에 값을 변경하게 될 경우는 let, 변경하지 않을 경우는 const로 구분해서 쓰면 좋다. 재선언 재할당 오브젝트 내 데이터 변경 var O O O let X O O const X X O * 수정 불가능한 오브젝트를 원할 경우, Object.freeze(오브젝트명) 을 사용한다. 이 경우 오브젝트 내의 데이터 변경이 불가능하다. Hoisting 현상 : 변수의 선언을 변수 범위 맨 위로 끌고 오는 현상. window를 이용해 전역변수를 만..
Arrow Function ES6에서 새롭게 추가된 함수 작성법으로 화살표 함수가 있다. function 키워드를 괄호()가 대신하는 것이다. let 결괏값 = () => { } 과 같은 형식으로 작성하는데, 파라미터가 하나밖에 없을 때는 소괄호를 생략할 수 있고, 코드가 한줄이면 중괄호와 return을 생략할 수 있다. 다음 아래 두 문장은 같은 문장이다. Arrow function은 저번 글에서 설명했던 것 처럼 바깥에 있던 this값을 내부에서 그대로 사용한다. 따라서 이벤트 리스너 안에서 사용할 때는 this가 아닌, e를 사용해야 한다. 테스트 버튼 마찬가지로 오브젝트 내에서 this를 호출해도 window가 나오게 되니 화살표 함수에서 this 키워드를 사용할 때에는 조심해야 한다.
대학생때와 졸업 후 1년간 오직 JAVA만 사용해 안드로이드 개발을 했더니 머릿속에서 자바스크립트가 일정부분 날아간 기분이 든다. 그래서 오랜만에 프로그래머스 1단계 문제를 풀어봤다가 생각보다 심하다는걸 깨달았다.. React, node.js에서는 사실 늘 쓰는 function과 Mongoose함수만 주구장창 사용하기 때문에 JS 실력이 늘어날 수 없었던 것 ㅠㅠ 게다가 React는 아주 기초적인 js 문법만으로도 휘황찬란한 웹을 만들 수 있다. 이게 나의 뇌를 마취시킨 주 원인이었던듯 하다.. 기념삼아 JS ES6 문법을 공부하고 기록하기로 했다. 평생 할 줄 알았던 Java는 이제 안녕~~...(회사들어가면 하게 될지도 모르겠지만..~) this 자바스크립트에서 this는 상황에 따라 다른 것을 가리..