기타

2024-08-09 금요일 TIL 마무리

추운날_너를_기다리며 2024. 8. 9. 20:36

어제 팀원 소개 웹페이지 만들기 팀프로젝트를 마무리 한 후 지금 나에게 가장 문제가 무엇인지에 대해서 돌아봤습니다.

알고리즘 코드카타를 풀면서 어떻게 지금까지 인터넷에서 문법을 찾아보면서 문제를 해결해왔는지 알 수 없을 정도로 현재 JS에 대해서 아는게 없었습니다.

물론 아직 배운적이 없기 때문이라고 하더라도 C#과 C++ 그리고 C를 열심히 공부했었는데 JS라고해서 다를게 있나 싶었지만 많이 달랐습니다.

 

따라서 매일 코딩테스트 JS 0단계부터 단계별로 올라가 보기로 하였습니다.

 

[1] 코딩 테스트를 진행하면서 ''와 ""와 ``의 쓰임을 이제서야 알게 되었습니다.

일단 ""와 ''의 차이는 없이 쓰인다고 생각하고 이제 `` 억음 부호 backtick은 따옴표에서는 불가능한 string의 사이에 개행이 된 경우 처리가 가능합니다.

이 뜻은 변수 작성 시 활용이 가능합니다.

'\n' "\n" 이 둘은 에러가 납니다.

`\n` 개행이 가능합니다.

 

또한, 아래와 같이 변수 작성 시 활용 가능합니다.

var a = 11;

console.log(`a의 값은 ${a} 입니다.`);

//출력 결과 : a의 값은 11 입니다.

백틱은 위에서 처럼 ${}를 통해 변수를 넣어 사용할 수 있는데 이를 템플릿 리터럴 이라 부릅니다.

 

[2] 또한 이번에 JS가 왜그렇게 많이 쓰이는지에 대한 내용을 듣게 되었습니다. 그중에서 가장 인상 깊었던 것은 Js는 동적 타이핑을 지원하는 언어로서, 변수를 선언할 때 타입을 지정하지 않는다는 것 입니다. 기것은 런타임 시점에 변수에 할당되는 값에 따라 자동으로 데이터 타입이 결정된다는 말을 들었을 때 C#, C, C++을 공부한 사람으로써 가히 충격적 이었습니다.

저거 때문에 타입캐스팅을 얼마나 써먹었는지 생각하면 어우....

하지만 분명히 다른 언어에 비해서 작동이 느릴 것으로 예상이 갑니다.

분명히 얻는게 있었으면 잃는게 있어야 하는 것과 같이 JS가 모든 언어에 비해서 탁월했다면 그럴 수 있겠지만 변수 할당을 런타임 시점에서 할당해주는 것이라면 느리게 작동한다는 의미로 받아드릴 수 있었기 때문에 공부를 하면서 각 언어들의 장단점에 대해서 고민해 보는 시간이 되었습니다.