web/javascript
-
JavaScript - 동기(synchronous), 비동기(asynchronous)web/javascript 2023. 2. 15. 23:51
c, c++, java, python을 공부한 나에게 프로그래밍 언어는 항상 동기적으로 동작하는 줄 알았다.c, c++, java는 비동기적으로 여러가지 작업을 처리하려면 thread또는 process를 만들어 사용해야 한다.(python은 어떻게 작동하는지 잘 모른다) 물론 javascript도 동기적으로 동작한다. 하지만 javascript는 비동기적으로 동작하기도 한다! 대표적으로 setInterval(), setTimeout() 함수가 비동기적인 함수이다.나중에 이해한 내용c, c++, java는 thread를 만들거나 fork로 process를 만들어 여러가지 작업을 동시에 작업한다.js는 thread를 만들거나 fork를 할 수 없다. 대신 Promise 또는 webapi를 사용해 여러가지 작..
-
js 정규표현식 (regular expression)web/javascript 2022. 8. 1. 14:04
문법metacharacters대부분의 문법에서 regex는 14개의 metacharacters를 가지고 있다. {}[]()^$.|*+?\로, 이 문자들을 특별한 의미를 가진다. 개별 문자로 사용하려면 \를 앞에 붙여 escape해주어야 한다.delimiter(구획 문자)프로그래밍 언어에서는 문자열로 regex를 나타낼 수 있다. "re"처럼. /re/처럼 슬래시도 많이 쓴다. 이 구획 문자는 정규표현식에서 사용하려면 escape해주어야 한다.기본 개념or세로줄은 or을 의미한다. 예를 들어 gray|grey는 "gray"또는 "grey"와 매치된다.그룹화괄호는 연산자의 범위 및 우선 순위를 결정하는데 사용된다. 예를 들어 gray|grey와 gr(a|e)y는 같은 패턴이다.수량화(Quantificatio..