백틱은 ` 흔히 사용하는 '과는 다른 친구이다. 이 친구다. 자바스크립트를 처음 배우는 사람들을 혼란스럽게 하는 친구다. 분명 예시로 올라온 코드를 똑같이 썼는데 안 된다. 하면 이 친구 문제일 확률이 좀 있다.
velog를 쓰다보면 자주 사용하는데
Something Something
을 쓸 때도 사용되고
let something;
const somesomething;
와 같이 코드를 쓸 때도 사용된다.
개인적으로는 맥북을 쓸 때 한글로는 백틱이 안나와서 약간 짜증나는 친구다.
자바스크립트 공부를 하다가 백틱을 보게 되었는데 정확한 원리를 모르고 있었어서 기록하려고 글을 썼다.
let name = "yeonseong";
console.log(`hello ${name}`);
자바스크립트에서 위와 같은 방식으로 백틱을 쓰게 된다. ${...}
과 결합해서 쓴다. 위의 출력 결과는 hello yeonseong
일 것이다. +
기호를 쓰고 따옴표를 열었다 닫았다 하지 않아도 되어서 아주 편하게 쓸 수 있다.
console.log(`hello ${"name"}`);
console.log(`hello ${1}`);
백틱을 항상 변수의 이름을 써서 사용하다 보니 위와 같은 구문에서 뭐가 나올지 예상이 안되었다. 문제를 보았을때 "name"
에서는 뭔가 모르게 hello name
이 출력되지 않을까? 하는 생각이 들었지만 확신이 없었고 1
은 따옴표도 없어서 변수 이름으로 인식되면 undefine
? null
? 뭐가 출력되지 하는 생각을 가지고 있었다.
위의 결과 값은 아래와 같다.
약간 허무한 생각이 들었다. 그런데 원리가 무엇일까? 사실 백틱은, 더 정확히는 백틱과 ${...}
구문은 ...
안에 든 구문을 문자열로 반환한다. 변수랑만 쓸 수 있는게 아니다.
글을 다 쓰고 나니 근데 변수랑 안 쓸거면 쓸 필요가 있나...
라는 생각이 들었다. 그래서 변수랑 쓰는 예제만 보았나 보다.
console.log(`hello ${1}`);
console.log(`hello ${name}`);
undefined
가 나온다.name is not defined
에러가 나온다.