Computer Science10 ==와 ===의 차이점은 무엇인가요? ==와 ===는 모두 비교 연산을 수행하는 연산자이다. JavaScript에서 비교 연산의 대상은 값과 데이터 타입, 두 가지임을 이해하고 아래 내용을 알아보자. == ==는 느슨한 비교를 수행하는 동등 연산자로, 비교하고자 하는 두 대상의 데이터 타입이 다를 경우 동일한 데이터 타입으로 암묵적으로 변환한 뒤 비교를 수행한다. 즉 실질적인 비교 대상은 값으로, 데이터 타입이 달라도 값이 같으면 true를 반환할 수 있다. 그러나 이러한 암묵적인 형변환 과정이 때로는 예측하지 못한 결과를 초래할 수 있다는 점에서 조심히 사용해야 한다. === ===는 엄격한 비교를 수행하는 일치 연산자로, 비교하고자 하는 두 대상의 값과 데이터 타입을 비교한다. 즉 실질적인 비교 대상은 값과 데이터 타입으로, 값과 데이터.. 2025. 1. 22. 클로저란 무엇인가요? 클로저를 이해하기 위해선 스코프 체인, 렉시컬 환경에 대한 이해가 선행되어야 한다. 차근차근 이해해보자. 스코프 체인JavaScript에서 변수를 검색하는 메커니즘 JavaScript에서는 함수나 블록 내에서 특정 변수를 참조하고자 할 때 현재 스코프부터 상위 스코프로 해당 변수를 검색해나가는데, 이러한 과정을 스코프 체인이라고 한다. 예를 들어 아래와 같은 코드의 경우const globalColor = 'red'function func1() { const func1Color = 'blue' function func2() { const func2Color = 'green' console.log(func2Color) console.log(func1Color) console.log(.. 2025. 1. 2. 쿠키란 무엇인가요? 쿠키란 무엇일까?서버가 브라우저에 저장해두고 다시 받아오는 데이터, 또는 이러한 기술 이때 핵심은 데이터를 브라우저에 저장해둔다는 것인데 어차피 다시 받아올 데이터 그냥 서버에 저장해두면 될 것을, 왜 굳이 브라우저에 저장해두는 것일까? 쿠키를 왜 사용할까? 오늘날에는 서버 장비의 가격이 저렴하고 다양한 클라우드 서비스를 사용할 수 있지만 과거에는 그렇지 못했다. 예를 들어 사용자 한 명당 1KB의 데이터를 저장해두어야 한다고 할 때 사용자가 백 만 명만 되어도 1GB의 저장공간이 필요하게 되는데, 서버 장비의 가격이 비싸고 클라우드 서비스가 존재하지 않았던 과거에는 서버가 이를 오롯이 감당하기란 어려웠다. 이를 해결하기 위해 데이터 일부는 클라이언트가 저장하도록 하였는데, 이것이 곧 쿠키인 것이다. 이.. 2024. 11. 12. 기능이 제약된 웹 브라우저를 위해 웹 페이지를 어떻게 만드나요? 질문을 일반화해보면, 웹 브라우저마다 제공하는 기능이 다른데 모든 웹 브라우저에서 의도한 대로 작동하도록 하기 위해 어떤 방식으로 웹 페이지를 만드냐는 것이다. 과거에 비슷한 질문에 대해 공부한 적이 있다. 웹 브라우저 스펙 차이에 따른 스타일링 이슈는 어떻게 해결하나요? 위에서는 특히 스타일을 통일하기 위한 방법을 알아봤다면 이번에는 스타일뿐만 아니라 기능을 통일하기 위한 방법까지 알아보고자 한다. 크로스 브라우징최대한 많은 종류의 웹 브라우저에서 의도한 대로 작동하는 웹 페이지를 만드는 것 웹 페이지를 만들 때, 동일한 하나의 웹 페이지라도 웹 브라우저에 따라 다르게 보이고 작동하게 된다. 이는 웹 브라우저마다 사용하는 렌더링 엔진*이 다르기 때문인데, 웹 표준**을 준수함으로써 어느정도 해결할 수 .. 2024. 10. 29. DOMContentLoaded 이벤트와 load 이벤트의 차이점은 무엇인가요? DOMContentLoaded 이벤트웹 브라우저가 HTML 문서를 전부 읽고 DOM 트리를 완성하면 발생하는 이벤트 DOMContentLoaded 이벤트는 이미지 파일, 스타일 시트 등 기타 자원의 로드를 기다리지 않고 DOM 트리만 완성되면 발생한다. 즉, DOMContentLoaded 이벤트 발생 시점에서 기타 자원은 로드되었을 수도, 되지 않았을 수도 있다.* DOMContentLoaded 이벤트는 document 객체에서 발생한다. DOMContentLoaded 이벤트 발생 시점에서 아직 이미지는 로드되지 않았으므로 이미지 사이즈로 0x0을 출력한다. 실제로 alert 발생 시점에는 이미지가 존재하지 않는 것을 확인할 수 있다. * DOMContentLoaded 이벤트는 기타 자원의 로드를 기.. 2024. 10. 5. 웹 사이트의 에셋을 여러 도메인으로 서빙했을 때의 장점은 무엇인가요? 웹 사이트의 에셋을 여러 도메인으로 서빙하는 것을 도메인 샤딩이라고 한다. 도메인 샤딩브라우저가 웹 사이트의 에셋을 다운받을 때 해당 웹 사이트의 도메인으로부터 모든 에셋을 다운받지 않고 여러 개의 서브 도메인으로 에셋을 나눠 다운받는 방법 shard는 조각, 파편이라는 뜻으로 도메인 샤딩이라는 것은 곧 하나의 도메인을 여러 개의 도메인으로 조각낸다는 의미이다. 이때 굳이 하나의 도메인을 여러 개의 도메인으로 조각내는 이유는 하나의 도메인으로부터 모든 에셋을 다운받지 않고 여러 개의 서브 도메인으로 에셋을 나누어 다운받음으로써 동시에 더 많은 에셋을 병렬로 다운받을 수 있게끔 하고 결과적으로 페이지 로딩 속도와 시간을 향상시키기 위함이다. 이때 에셋이란 CSS, JavaScript, 폰트, 이미지 등의 .. 2024. 9. 30. 이전 1 2 다음