Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- React
- 동적 웹 페이지
- tanStack Query
- JavaScript
- Node.js
- 상태 관리 라이브러리
- 프라미스체이닝
- 리액트 기초
- 웹 개발
- 프론트엔드
- 코드리뷰
- 자바스크립트공부
- Promise
- dom
- 국제화(i18n)
- 웹 성능 최적화
- css
- html
- 비동기프로그래밍
- 웹개발
- jsx
- 비동기 요청 처리
- 웹 성능
- #프론트엔드개발
- 컴포넌트
- 자바스크립트
- 패키지 스크립트
- 퍼포먼스 최적화
- fe
- 풀스택 개발
Archives
- Today
- Total
sodol-dotcom
객체 선언과 제어문의 차이(언제 ';'가 필요한가?) 본문
1. 객체 / 변수 선언과 제어문의 차이
1-1. 객체 / 변수 선언의 경우:
// 객체 선언
const animal = {
type: "고양이",
name: "나비",
color: "black"
};
// 변수 선언
let x = 10;
여기서 중괄호`{}`는 객체를 정의하는데 사용되고 있다. 이건 `animal`이라는 변수에 하나의 객체를 할당하는 작업이다.
변수 선언 구문이기 때문에 구문 전체가 끝났다는 걸 명확하게 하기 위해 `;`를 붙여줘야한다.
- 객체는 데이터의 묶음이고, `{}` 안에는 속성(property)들이 들어 있다.
- 변수나 객체를 선언할 때는 마지막에 세미콜론(;)을 붙여서 구문이 끝났다는 걸 명확히 해주는 게 좋다.
- 왜냐하면, JavaScript는 변수 선언이나 할당이 끝난 후 구문이 끝났다는 걸 명시적으로 알려주는 걸 좋아한다고 함..
(JavaScript 문법 자체가 그렇게 생김)
2. 구문이 끝났음을 알리는 방식의 차이
2-1. 객체 선언에서는 `;`로 끝을 알려줘야 한다.
- 객체 자체는 `{}`로 정의되지만, 변수 선언이 구문으로 끝났다는 걸 `;`로 명확하게 표시해야 한다.
- JavaScript는 변수 선언이나 표현식을 끝낼 때 보통 `;`를 붙여서 끝났다고 알려준다. 이게 명확한 스타일이다.
const animal = { ... }; // 끝을 ;로 표시
2-2. 제어문에서는 `{}`가 구문을 끝내는 역할을 하기 때문에 `;`가 필요 없다.
- `for`, `if`, `while` 같은 제어문은 실행할 코드를 묶는 역할로 `{}`를 사용한다 .이 경우 중괄호로 감싸진 부분이 끝나면, 제어문이 끝났다는 걸 이미 알고 있기 때문에 `;`는 필요하지 않다.
for (let i = 0; i < 5; i++) { ... } // 끝을 {}로 표시, ; 필요 없음
3. 정리
- 변수선언(객체 포함): 선언이 끝났다는 걸 명시적으로 표시하기 위해 `;`를 써서 구문을 끝내는 것이 좋다. 이는 하나의 명령문이기 때문이다.
- 변수 선언: `let x = 10;`
- 객체 선언: `const animal = { type: "고양이", name: "나비" };`
const animal = { ... }; // 구문이 끝났으니 ;로 마무리
- 제어문(for, if, while 등): 중괄호 `{}`로 코드 블록이 끝났음을 표시하기 때문에, 블록 안에 코드가 실행된 후 추가적으로 `;`를 쓸 필요가 없다.
'Fundamentals > JavaScript' 카테고리의 다른 글
CommonJS와 ES 모듈 시스템 이해하기 (0) | 2024.09.24 |
---|---|
map 함수 (1) | 2024.09.20 |
reduce() 메소드 (0) | 2024.09.13 |
고정된 프로퍼티 이름과 동적 프로퍼티 이름에 접근하는 방법 (0) | 2024.09.13 |
특정 프로퍼티에 괄호 표기법으로 접근하기 (0) | 2024.09.12 |