JavaScript는 다양한 환경에서 사용할수가 있습니다. 웹브라우저에서는 DOM(document object model)을 통해 웹 페이지의 요소에 접근하고 조작할 수 있습니다.이를 통해 사용자의 상호작용에 따라 화면에서 보여지는 부분을 동적으로 처리하고 웹 클라이언트 애플리케이션을 개발할수가 있습니다. 또한 서버 측에서는 Node.js를 사용하여 JavaScript를 실핼할 수 있습니다.Node.js는 비동기적이고 이벤트 기반의 서버 측 애플리케이션을 개발할 수 있도록 지원합니다.이를 통해 JavaScript로 데이터를 처리하고 서버 애플리케이션을 개발할 수 있습니다.따라서 클라이언트와 서버간에 동일한 언어를 사용하여 애플리케이션을 개발할수 있어서 개발 생산성을 높일수가 있습니다. 동적타이핑과 함수..
정규식을 사용하다 보니 단순히 /[0-5]/ 이런것이거나 /a/ig 이런식으로 간단하게 숫자를 찾거나 a를 찾는것은 가능했다.하지만 더 자세하게 /s , /w 이런 유형들을 보니 얕게 사용해왔던거 같아 공부하기 위해 여러 방법으로 사용해 보았다.테스트는 MDN에 자료를 보면서 직접 해보았다. 일단 문자열을 하나 준비했다.const str = `Hello, I'm StartCoriny. Nice to meet you.My cell phone number is 010-1234-5678 and my home phone number is 02-1234-5678.If anything happens, please contact me here!!among the numbers 0 to 9, I like 3456 th..

비동기처리란? 프로그램이 특정작업을 동기적으로 처리하지 않고, 해당 작업이 완료될 때 까지 기다리지 않고 다른 작업을 수행할 수 있는 프로그래밍 패러다임을 의미합니다. I/O작업, 네트워크 통신, 데이터베이스 조회와 같이 시간이 소요되는 작업을 효율적으로 처리하기 위해 사용됩니다. 위와 같은 작업을 동기적으로 처리할 경우 전체 프로그램이 대기상태에 빠질수가 있습니다. 그렇기 때문에 비동기 처리를 통해 다른작업을 수행하면서도 효율적으로 대응할 수 있습니다. 특정 로직의 실행이 끝날 때 까지 기다려주지 않고 나머지 코드를 먼저 실행하는 것을 비동기 처리라고 합니다. JavaScript에서의 비동기처리는 settime함수, 이벤트처리, AJAX요청과 같은 경우에 주로 사용됩니다. 콜백함수 비동기 작업이 완료되..
클로저란? 주변 상태(어휘적 환경)에 대한 참조와 함께 묶인(포함된) 함수의 조합입니다. 즉, 클로저는 내부 함수에서 외부 함수의 범위에 대한 접근을 제공합니다. JavaScript에서 클로저는 함수 생성시 함수가 생성될 때마다 생성됩니다. - MDN 쉽게말해서 이미 생명 주기가 끝난 외부 함수의 변수를 참조하는 함수입니다. 함수 내부에 함수가 존재할 경우 const name = 'start' // name은 전역변수 function func1() { var name = "coriny"; // name은 func1 의해 생성된 지역 변수이다. function func2() { // func2() 은 내부 함수이며, 클로저다. console.log(name); // coriny 즉, 부모 함수에서 선언된 ..
Promise는 해석하면 '약속' 즉, 비동기 처리에 대해, 처리가 끝나면 알려달라는 약속입니다. 비동기 처리 • 특정 코드의 실행이 완료될 때까지 기다리지 않고 다음 코드를 먼저 수행하는 자바스크립트의 특성 자바 스크립트는 비동기 처리를 위한 하나의 패턴으로 콜백함수를 사용하였지만 에러의 처리가 곤란하고 콜백지옥으로 인해 가독성도 떨어지고 여러개의 비동기 처리를 한번에 처리하는데 한계가 있었습니다. Promise는 이러한 비동기 처리를 위한 객체이며 전통적인 콜백 패턴이 가진 단점을 보완하고 비동기 처리의 성공 또는 실패와 같은 최종결과를 명확하게 표현할수가 있습니다. Promise의 기본 구조 const myPromise = new Promise((resolve, reject) => { // 비동기 ..
콜백함수란? callback = call(부르다) + back(되돌아오다) 즉, 정의된 함수의 참조를 통해 나중에 (back)호출(call)하는것을 의미합니다. 콜백 함수는 다른 코드의 인자로 넘겨주는 함수입니다. 인자로 넘겨준다는 얘기는 콜백함수를 넘겨받는 코드가 있다를 의미하고 인자를 넘겨줌으로써 제어권도 함께 위임한다고 할수 있습니다. 콜백 함수를 위임 받은 코드는 자체적으로 내부 로직에 의해 이 콜백함수를 적절한 시점에 실행하게 됩니다. var count = 0; var count = 0; var Func = function() { console.log(count); if(++count > 4) clearInterval(timer); }; var timer = setInterval(Func, 30..

실행 컨텍스트 • 자바 스크립트가 실행 될 때 생성되는 하나의 실행 단위입니다. • 자바 스크립트는 자신만의 독특한 과정으로 신행 컨텍스트를 만들고 그 안에서 실행이 이루어 집니다. • 이 실행 컨텍스트는 자신만의 유효 범위(Scope - 스코프)를 갖는데 이 과정에서 클로저를 구현할 수 있습니다. • 실행할 코드에 제공할 환경 정보들을 모아놓은 객체입니다. 실행 컨텍스트의 개념 실행 컨텍스트를 이해하려면 콜 스택(call stack)이라는 개념이 필요합니다. 콜스택은 함수를 호출할 때 해당 함수의 호출 정보가 차곡차곡 쌓여있는 스택을 말합니다. 예를 들어서 빠저 나올수 없는 통로에 짐을 하나씩 넣습니다. 그렇게 되면 가장 나중에 들어간 짐이 가장빨리 나오게 되고 제일 먼저 들어간 짐이 가장 나중에 나오..
여러 값을 하나의 변수에 저장하는 자료 구조입니다. 동일한 변수명에 여러 개의 값을 담을 수 있으며 각 요소는 인덱스를 사용하여 접근할 수 있습니다. 배열의 생성은 배열[ ]안에 숫자, 문자를 넣어 배열을 생성할수 있습니다. let weekday = ["월요일","화요일","수요일","목요일","금요일"]; 배열의 값을 넣지 않고 크기만 지정하고 싶다면 배열을 생성한다는 new Array()안에 해당하는 크기만 넣어 생성할수 있습니다. 또한 빈 배열을 생성후 배열값을 입력할수도 있습니다. let weekday = new Array(5); let weekday = [,,,,]; weekday[0] = '월' weekday[1] = '화' weekday[2] = '수' weekday[3] = '목' week..