일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 데이터분석
- 비전공자개발정리
- 공개API
- ES5
- 자바스크립트표준
- 숫자구하기
- 프로세서 속도와 심장 박동수
- ES차이
- API요청
- 아키네이처
- 트위터해킹
- 주식스팸
- 한국디도스
- 알고리즘 문제 풀이
- 브라우저 작동원리
- 아마존해킹
- 네트워크해킹
- 컴퓨터과학
- HDD와 SSD의 차이
- 줌서비스
- es3
- es6문법
- es6
- 이진검색
- 컴퓨터 논리와 구조
- 퀵정렬
- ECMA설명
- CS스터디
- 빗썸데이터
- 1일 1로그 100일 완성 IT지식
- Today
- Total
개발일지
ASI, ; 자바스크립트에 세미콜론이 왜 자동으로 들어가요?? 본문
유튜브 구독이 된 얄팍한 코딩사전 세미콜론 영상이 올라와 바로 작성해본다
https://www.youtube.com/watch?v=hJjYvVOEO7s
코딩을 처음 시작할때 파이썬에서도 그랬고 세미콜론을 안찍어주면 오류가 나기도했는데
또 어느 부분은 세미콜론을 안찍어도 작동이 되는 부분도 있었다.
그래서 결국은 가로가 끝날 때면 그냥 다 붙여버렸다
코드를 짜다보면 어떨때는 세미콜론을 자동으로 붙여준다
개발자의 의도와는 다르게 세미콜론을 찍거나 안찍어준다.
이를 ASI라고 한다.
(Automatic Semicolon Inserion, 자동 세미콜론 삽입)
특징은 줄바꿈을 찾아내 자동으로 세미콜론을 붙여준다. 신경써줘야 하는 부분을 아래 예시로 확인해보자
1. 줄 바꿈에 자동으로 찍힐 때
왼쪽사진과 같이 세미콜론을 찍지 않았을때는 오른쪽 사진 처럼 '헬로'; 에 자동으로 찍히는 ASI를 기대할 수 있지만
return; 과 '헬로'; 둘다 찍혀버려서 undefined를 반환해버리는 일이 생긴다. 그렇기에 회사나 단체에서 작성할때는 코드 컨벤션을 지켜 합의를 해야하며 혹시나 값이 안찍힌다면 ASI가 자동으로 들어간 곳과 내가 원하는 곳을 비교해봐야한다.
2. 짧은 statement , 콘솔을 구분할 때
이처럼 짧은 statement를 사용하려면 세미콜론을 붙여 구분 해줘야한다 안그러면 Unexpected identifier 에러가 난다.
ASI는 줄바꿈, 개행된 것이 아니기 때문에 구분못한다.
3. 변수 설정과 함수가 겹칠때
보통 이렇게 둔 채 세미콜론을 찍지 않으면 자동으로 x를 함수처럼 실행하고 그 결과를 반환하는 오른쪽 사진이 된다.
그렇기 위해서 우리는 x,y 변수에 세미콜론을 찍어주는데 보기 좋게 아래서는 함수 앞에 찍어준다고 한다
어느한곳에만 ;0를 붙이면 일관성이 떨어지니 function 앞에 써준다
근데 차라리 x,y를 다 찍어주는 것도 좋은 방법이 아닐까 한다
결국 각 합의한 내용에 따라 세미콜론도 정해서 찍자! 그리고 오류가 난다면 가로와 세미콜론 콤마등을 확인하자!
'JavaScript' 카테고리의 다른 글
Object.assign() 값을 차례대로 겹쳐 복사하기 (드림코딩 자바스크립트 입문편) (0) | 2022.06.26 |
---|---|
for [i] 반복문 보다 쉽고 편리한 for(value of array), forEach (0) | 2022.06.26 |
Vscode 폴더 경로 설정하는 법 - 시간낭비 그만 import from "../../"; (0) | 2022.06.19 |
객체(배열[],딕셔너리{})는 상수 const로 선언되었을때도 할당 되는 이유는?? (0) | 2022.06.11 |
Java Script 언어의 특성( 객체와 불변성, 자료형, 스코프, 호이스팅과 TDZ...) (0) | 2022.05.20 |