파일 모듈화 모듈(module)을 사용하면 JavaScript 파일별로 각각 캡슐화가 가능하다. 두 개의 JavaScript 파일을 만들어서 모듈화를 해보자. 우선, 아래와 같이 HTML 파일에 counter.js 파일과 main.js 파일을 태그로 연결해보자. Index.html counter.js 파일에는 변수 count가 있고, 함수 increase와 getCount가 있다. 변수 count는 다른 파일에서 접근하지 못하게 하고, increase와 getCount는 사용할 수 있게하려면 export를 앞에 붙여주면 다른 파일에서 import가 가능하다. (export default는 모듈에서 딱 하나만 export할 때 사용할 수 있다.) counter.js let count = 0; export ..
보호되어 있는 글입니다.
함수의 불변성이란? 함수 내부에서 외부로부터 주어진 parameter의 값 또는 상태를 변경하지 않아야 함을 뜻한다. 값 또는 상태 변경이 필요한 경우에는 새로운 값 또는 객체(Object)를 만들어서 반환해야 한다. Primitive Type 데이터 primitive 데이터의 경우 값을 복사(pass by value)하기 때문에, 함수에 매개 변수로 전달된 데이터를 변경하더라도, 원래 변수는 바뀌지 않는다. 그럼에도, 다른 개발자나 사용자들이 함수를 사용함에 있어 함수 내부에서 원래의 값을 바꾸는 것은 좋지 않기 때문에 새로운 변수를 생성해서, 파라미터로 전달된 값을 할당한 이후에 변경하는 것이 바람직하다. 예를들어, const count = val, count = 6; 이런식으로 count라는 새로운..
함수의 매개변수에 아무것도 전달하지 않으면 어떻게 될까? a와 b를 매개변수로 받아 두 매개변수의 곱을 반환해주는 multiply 함수가 있다고 가정하자. 만약 아래 코드처럼 multiply 함수를 호출했는데 매개변수를 전달해주지 않는다면 인자는 어떤 타입을 가지게 될까? function multiply(a, b){ return a * b; }; multiply(); 매개변수들이 전달되지 않은 경우, console에 각 매개변수들이 어떻게 받아와지는지 확인해보자. function multiply(a, b){ console.log(a); // undefined console.log(b); // undefined return a * b; }; multiply(); 위의 코드처럼 매개변수가 전달되지 않은 경우..
삼항 연산자란(Ternary Operator)? 조건문을 쓸 때 주로 if, else를 사용하는 것에 비해, '조건식 ? 참인 경우 : 거짓인 경우' 의 형태로 깔끔하고 간단하게 조건문을 표현할 수 있도록 해주는 방식 날씨에 따라 택시를 탈지, 자전거를 탈지 결정하는 코드를 작성한다고 해보면, let weather; if(weather == '⛄'){ console.log('🚕'); } else{ console.log('🚴♂️'); } 이런식으로 눈이 오면 택시를 타고, 그렇지 않으면 자전거를 탈 것이라는 코드를 if와 else를 활용해 조건문을 만들 수 있다. 하지만, 삼항 연산자를 사용하면 다음과 같이 간단하게 표현할 수 있다. let transport = weather === '⛄' ? '🚕' :..
- Total
- Today
- Yesterday
- React Query
- Browser
- DB
- github
- error
- CSS
- 정렬
- 리액트
- 브라우저
- BOJ
- leetcode
- 알고리즘
- 자바스크립트
- Context API
- react
- DOM
- git
- Component
- JavaScript
- 함수
- state
- Python
- 그래프
- useState
- 에러
- zustand
- 자료구조
- mdn
- 데이터베이스
- 파이썬
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |