JavaScript 7

즉시 평가, 지연 평가 - JavaScript

JavaScript에는 즉시 평가와 지연 평가라는 개념이 있습니다. 저는 즉시 평가와 지연 평가들에 대한 자료를 보고 "어떨 때 평가를 하는구나"정도만 알고 평가가 무엇인지 정확히는 몰랐습니다. 그래서 저는 즉시와 지연을 작성하기 전에 js에서 평가가 무엇인지 작성할테니 참고하고 보시면 좋을 것 같습니다.평가아래의 과정들을 포괄해 평가라고 부릅니다.코드 실행: JavaScript 엔진이 코드를 파싱하고 실행하는 과정값 도출: 표현식이나 문장으로부터 최종적인 값을 계산해내는 과정으로 연산자 적용, 함수 호출 결과 계산 등을 포함 타입 결정: 표현식의 결과가 어떤 데이터 타입인지 결정하는 과정변수 바인딩: 변수에 값을 할당하는 과정으로 이는 변수 선언과 초기화를 포함함수 실행: 함수 호출 시 인자를 평가하고..

Javascript 2024.09.25

this? 이것?

this는 영어로 이것이라는 의미입니다. JavasScript에서 사용되는 this는 어떤 의미를 뜻할까요? thisthis는 실행 중인 코드에서 사용되는 객체를 참조하는데 사용되는 키워드입니다.this의 값은 함수의 호출 방식에 따라 변합니다. Global전역에서 this를 사용했을 때는 전역 객체를 가리킵니다. 브라우저상에서는 window가 전역 객체입니다.console.log(this); // window 만약 아무런 것으로도 감싸지 않고 전역에서 사용됐을 때 위 로그는 window를 찍습니다. 전역 객체인 window가 잘 감이 안 올 수 있는데 아래 예시를 봐보겠습니다.let globalValue = 10;console.log(this.globalValue); // 10..

Javascript 2024.04.15

ES6? 다른 숫자도 있는건가?

안녕하세요! ES라고 아시나요? JavaScript를 포함한 스크립트 언어를 배운다면 흔히 접하는 단어입니다. 그 중에서도 ES6나 ES6이후 문법들이라는 말들이 되게 많습니다. ES는 뭐고 몇까지 있을까요? ES ECMAScript의 약자로 ECMA International이 정의하고 있는 표준화된 Script 프로그래밍 언어입니다. ECMA ECMA란 European Computer Manufacturers Association라는 정보와 통신 시스템을 표준화하는 기구입니다. 후에 국제적 확장을 고려하여 뒤에 International이라는 이름이 붙게 되었습니다. ECMA International은 JavaScript말고도 여러 언어의 규격을 표준하고 있는 기구입니다. 그 중 JavaScript는 E..

Javascript 2024.03.31

Typescript 왜 쓰는거지 🤔

안녕하세요! 설 연휴 잘 보내시고 계신가요? 어제 오늘 갔다오니 피곤하네요..ㅎ 이번 글은 제 지식과 우아한 타입스크립트 with 리액트라는 책을 참고해 Typescript에 대해 알아보는 글입니다! ❓ Typescript? TS를 왜 쓰는지 알기 위해선 우선 무엇인지 알아봐야겠죠? Typescript는 마이크로소프트에서 개발한 Javascript의 슈퍼셋 언어입니다. 슈퍼셋은 기존 언어에 새로운 기능과 문법을 추가해 보완하거나 향상하는 것을 말한다. 기존 언어와 호환되며 일반적으로 컴파일러 등으로 기존 언어 코드로 변환되어 실행된다. Typesript는 Javascript의 슈퍼셋 언어입니다. 보통 기존 언어의 슈퍼셋 언어가 나오는 이유는 그 전 언어의 불편한 점이 생기고 이를 개선하고자 나옵니다. 그..

Typescript 2024.02.11

🦴 JS 타입 종류 (원시 타입, 참조 타입?)

오늘은 정말 널리 알려져있고 중요한 Javascript의 타입 종류를 알아보겠습니다. let arr = [1, 2, 3, 4, 5]; let arr2 = arr; arr[0] = 10; console.log(arr2); 위 console.log의 값은 뭘까요? 정답은 [1, 2, 3, 4, 5]입니다. 혹시라도 [10, 2, 3, 4, 5] 일 수 있지 않나?라는 생각이 든다면 이번 글 잘 읽어주세요! ❓ 원시 타입? 원시? 저는 처음 들을 때 뭔가 고대적인 느낌이 났는데요..ㅎ JS의 원시 타입이란 실제 데이터 값을 저장하고 저장된 값을 변수가 직접적으로 가리키는 형태의 타입입니다. 종류로는 string, number, boolean 등 JS의 기본 데이터 타입들이 원시 타입에 해당합니다. 또한 원시 ..

Javascript 2024.02.05

Closer ❌ Closure ⭕

음 저는 클로저라는 단어를 처음 들었을 때 바보같이 Closer라는 단어인 줄 알아서 가까운..? 했던 기억이 나네요! 하지만 클로저의 스펠링은 Closure! 폐쇄라는 의미를 가지고 있습니다. Javascript를 한다면 참 많이 듣는 단어 중에 하나가 아닐까 싶습니다. 이번 글에서는 Closure에 대해서 정리 해보겠습니다. ❓Closure 클로저는 JS에서 중요한 개념 중 하나입니다. 하지만 그래서 JS 고유의 개념이 아니라 함수를 일개 객체로 취급하는 함수형 프로그래밍 언어들에서도 사용되는 중요한 개념입니다. 클로저를 한 번쯤 검색해보신 분들은 아마 공통적으로 아래 문장과 비슷한 말을 보셨을 것 같습니다. 함수와 그 함수가 선언 된 Lexical Environment(어휘적 환경)의 조합이다. 음..

Javascript 2024.02.02

Call Stack..? Event Loop? 🤔

안녕하세요! 이번 글에서는 웹 개발에선 빠질 수 없는 Javascript라는 언어의 동작 방식에 대한 글을 써보려고 합니다.저는 2달 전에 졸업하신 선배님께 프론트엔드 모의 면접을 봤습니다! 이때를 기준으로 여러 기술의 동작원리와 내가 왜 쓰는지에 대한 생각들이 많이 들었고 또 공부했습니다. 저는 Javascript라는 언어로 개발을 합니다.그런데 Call Stack, Event Loop 등의 단어를 들어도 그게 무엇인지 전혀 몰랐습니다.. 반성해야 하는 부분이죠.Call Stack, Task Queue, Event Loop 등의 단어들은 JS 동작원리 그 자체라고도 할 수 있기 때문에 잘 읽어주세요!❓JS는 싱글 스레드Javascript는 싱글 스레드입니다. 스레드라는 단어가 무엇인지 알고 넘어가자면 ..

Javascript 2024.01.30