본문 바로가기

Web

(13)
[JavaScript] 오버로딩 자바스크립트에서는 오버로딩 기능을 제공하지 않는다. (매개변수 형태가 다른 함수여도) 동일한 이름의 함수가 정의되면, 함수가 재정의된다. 책에서 보니 함수 이름 충돌때문에, 내부 함수로 많이 사용한다고 적혀져 있었다. 그럼 오버로딩 기능은 사용할 수 없는 건가? 궁금해서 찾아보니 변수 arguments 를 사용하여 오버로딩 기능을 구현할 수 있었다. 변수 arguments 는 모든 전달인자를 받는 배열이다. 따라서 arguments의 크기에 따라 다른 처리를 해주면 된다.
[JavaScript] 가변 인자 함수 가변 인자 함수는 매개변수의 개수가 변할 수 있는 함수를 말한다. 위에 정의된 func 함수는 매개변수가 없다. 하지만 자바스크립트의 모든 함수는 내부에 기본적으로 변수 arguments가 있다. arguments는 매개변수의 배열을 나타낸다. 따라서 아래와 같은 코드 작성이 가능하다.
[JavaScript] 선언적 함수 아래와 같은 방식으로 생성한 함수를 선언적 함수라고 한다. function func() { } 자바스크립트에서는 동일한 이름의 함수를 정의할 수 있다. 위와 같이 정의해도 오류가 발생하지 않으며, func()은 재정의된다. 따라서 마지막에 함수를 실행하게 되면 '함수 B'가 출력하게 된다. 마찬가지로 익명 함수를 재정의 하여도 오류가 발생하지 않는다. 결과는 위와 같다. 변수를 선언하기 이전에 함수를 먼저 호출하면 오류가 발생한다. 하지만 선언적 함수를 사용하면 오류가 발생하지 않는다. 웹 브라우저는 script 태그 내부의 내용을 한 줄 씩 읽기 전에 선언적 함수부터 읽는다. 따라서 func() 함수 호출은 제일 마지막에 실행된다.
[JavaScript] 비교 연산자와 일치 연산자 자바스크립트를 공부하면서 이해가 안됐던 것?, 처음 보았던 것이 일치 연산자이다. 비교 연산자 == 위 코드의 결과는 모두 true이다. 자동으로 자료형이 변환이 되기 때문이다.. 일치 연산자 === 일치 연산자를 사용하게 되면 값 뿐만 아니라 자료형이 같은지도 비교하게 된다. 따라서 위 결과는 모두 false이다.
[Web] Webpack이란? 웹을 공부하다보니 처음보는 용어들이 많았다. 설명만 보니까 굳이 이게 왜 필요하지? 에 대한 의문이 많이 들었다. 첫 번째로 찾아본 것이 Webpack인데, 아래 사이트가 제일 쉽게 설명이 잘 되어있는 것 같다. https://nesoy.github.io/articles/2019-02/Webpack Webpack이란? nesoy.github.io