백틱은 ` 흔히 사용하는 '과는 다른 친구이다. 이 친구다. 자바스크립트를 처음 배우는 사람들을 혼란스럽게 하는 친구다. 분명 예시로 올라온 코드를 똑같이 썼는데 안 된다. 하면 이 친구 문제일 확률이 좀 있다.
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 에러가 나온다.