문자열 연결과 템플릿 문자열

  • 문자열을 연결하기 위해 사용하는 + 연산자는 가독성이 떨어짐
  • ES2015부터 ` (백틱) 사용 가능 (맥북 기준: ₩+option)
  • `` 안에 문자열과 ${계산식}을 혼용

 

함수 선언과 호출, 함수 표현식, 호이스팅

  • 호이스팅: (함수/변수 선언을 유효 scope의 최상단으로 이동) 자바스크립트(Javascript)에서 변수와 함수 선언이 그들이 있는 코드에서 상위로 끌어올려진 것처럼 작동하는 특성을 나타내는 용어
    • 함수 표현식을 쓰면 해당 함수가 먼저 선언 되었는지 확인 할 수 있다 (권장)
    • 함수 선언문에서는 해당 특성이 유효하나 함수 표현식, 화살표 함수에서는 불가능하다.
    • let, const는 호이스팅을 허용하지 않는다.
  • 예외 케이스: <script type="text/babel">: var도 호이스팅을 허용하지 않는다.

 

Default parameters

function logActivity(name="임준식", acivity="테니스"){
    console.log(`${name}은 ${acivity}를 좋아합니다.`)
}

logActivity()

var defaultPerson = {
    name: {
      first: "성원",
      last: "오"
    },
    favActivity: "테니스"
}

function logActivity2(p=defaultPerson){
    console.log(`${p.name.first}은 ${p.favActivity}를 좋아합니다.`)
}

logActivity2()

<출력 결과>

"임준식은 테니스를 좋아합니다."
"성원은 테니스를 좋아합니다."
 

화살표 함수

ES6 (ES2015)에서 도입된 새로운 함수 문법으로 화살표 함수는 전통적인 함수 표현 방식에 비해 더 간결하며, 몇 가지 중요한 특성도 가지고 있다.

// 전통적인 함수 표현
const square = function(x) {
  return x * x;
};

// 화살표 함수 표현
const squareArrow = x => x * x;
var lordify = firstname => `캔터베리의 ${firstname}`

console.log(lordify("임수한"))

var sum = (op1,op2) => op1+op2

console.log(sum(3,5))

<출력 결과>

"캔터베리의 임수한"

8

+ Recent posts