▶함수 자바스크립트에서 함수는 가장 중요한 개념 중 하나이며 자바스크립트 함수만의 독특한 특징들이 있습니다. 함수의 특징을 얼마나 잘 이해하느냐가 자바스크립트 개발자로서의 역량을 판가름하는 기준이 될 수 있겠습니다. 단순한 함수 정의나 호출을 통해 결과 값을 얻는 것 이외에 this 바인딩, 클로저 등 자바스크립트 함수만의 특징을 제대로 이해하고 있어야 합니다. 1) 함수란 무엇인가? 함수는 객체의 특별한 형태이며 문(statement)으로 구성된 몸체를 가진 하나의 실행 단위입니다. function doSomething() { console.log('hello javascript'); } 또한 자바스크립트 함수는 일급 함수(first-class function)로서 다른 함수의 매개변수나 반환 값으로도..
▶들어가기 전 자바스크립트는 느슨한 타입을 가진 언어이기 때문에 관대한 타입 변환을 수행합니다. 이런 부분은 많은 개발자가 자바스크립트를 이해하기 힘들어하고 싫어하는 이유이기도 합니다. 앞으로 자바스크립트의 타입 변환 규칙을 ECMAScript에 명시된 명세를 기준으로 알아볼 것입니다. 이 내용들은 어떤 식으로 타입 변환을 제어하는 것이 좋을지 판단할 때 큰 도움이 될 것입니다. 또한, 자바스크립트의 꽃이라고도 할 수 있는 함수의 선언과 호출 방법 그리고 this 바인딩에 대해 다룰 것입니다. 언급한 내용 모두 자바스크립트에서 혼란스럽게 여겨지지만, 알아보고 나면 생각보다 간단한 규칙이 있다는 것을 이해할 수 있을 것입니다. ▶타입 변환 자바스크립트에서 타입 변환을 이해하는 것은 매우 중요합니다. 어떤 ..
▶구문과 연산자 프로그래밍 언어에서 구문(Synrax)은 애플리케이션 또는 프로그램을 만들기 위해 언어가 작동하는 규칙을 정의하며, 정형화된 문법에 따라 작성해야 합니다. 즉 올바른 구문을 작성하려면 언어의 문법과 구성 요소에 대해 명확하게 이해해야 합니다. 이 글에서는 자바스크립트 구문의 중요한 구성 요소인 표현식(Expression)과 문(Statement) 그리고 연산자(Operator)에 대해 살펴보겠습니다. 1) 표현식(Expression) 자바스크립트에서 표현식과 문의 차이를 이해하는 것은 매우 중요합니다. 이 둘의 차이를 정확하게 이해하고 조합해야 자바스크립트 구문을 올바르게 작성할 수 있습니다. 먼저 표현식부터 알아보겠습니다. 표현식은 값으로 평가되는 구문입니다. 예를 들어 임의의 숫자나 ..
▶랩퍼(Wrapper) 객체 랩퍼 객체를 살펴보기 전에 간단한 예제 코드를 보겠습니다. const arr = 'javascript'; console.log(str.length); // 10 str 변수는 문자열 원시 타입인데도 마치 객체처럼 length 프로퍼티에 접근합니다. 문자열은 객체가 아닌 원시 타입인데 어떻게 프로퍼티를 가질까요? 자바스크립트는 문자열의 프로퍼티에 접근할 때 내부적으로 문자열 값을 가지고 임시 객체로 변환합니다. 그리고 프로퍼티 접근이 종료되면 생성된 객체는 메모리에서 제거됩니다. 자바스크립트에서 이런 과정을 박싱(Boxing)이라고 부릅니다. 숫자와 불리언 타입 역시 프로퍼티에 접근할 때 동일한 과정을 실행합니다. 박싱 과정에서 생성되는 임시 객체를 랩퍼 객체라고 합니다. 랩퍼..
▶배열 자바스크립트의 배열은 개체의 특별한 형태로 순서가 있는 데이터의 집합입니다. 배열 안의 값은 원소라고 하며, 배열의 위치를 가리키는 인덱스로 각 원소에 접근합니다. 인덱스는 0부터 시작하는 정수이며, 배열 값은 어떤 타입의 데이터든 사용할 수 있습니다. 즉 배열은 객체이지만 정수 타입인 인덱스를 프로퍼티로 갖는 특별한 데이터입니다. 1) 배열의 생성 ▷Array() 생성자 사용 객체와 마찬가지로 배열도 자바스크립트에 내장된 생성자 함수 Array()가 있으며, 이를 사용해 새로운 배열을 생성할 수 있습니다. const arr = new Array(1, '1', true); console.log(arr) // [1, '2', true] Array() 생성자 함수는 새로운 배열을 생성하고 인자로 받은..
▶객체와 타입 자바스크립트의 타입은 다른 언어들과 달리 매우 느슨합니다. 데이터 타입과 상관없이 var, let, const와 같은 키워드로 변수를 선언합니다. 엄격한 타입 언어가 아니라서 각 타입의 특징과 타입 변환에 대해 제대로 이해하지 못하면, 원치 않는 동작으로 애플리케이션에 에러가 발생하기도 합니다. 자바스크립트의 값은 원시 타입(Primitive Type)과 객체(참조형)로 나뉩니다. 원시 타입은 다음처럼 7가지가 있습니다. number string boolean null undefined Symbol BigInt(ES2020에서 추가) 원시 타입은 하나의 값만 가지며, 불변 데이터이기 때문에 연산을 해도 기존 값이 변경되지 않습니다. const result = 'hello' + 'javasc..
- Total
- Today
- Yesterday
- 자바
- 프로젝트 회고
- 자바스크립트
- 리액트 훅
- styled-components
- next.js
- CSS
- jest
- testing
- 파이썬
- 프론트엔드 공부
- Python
- JSP
- 머신러닝
- HTML
- 데이터분석
- 인프런
- 프론트엔드
- 타입스크립트
- 프론트엔드 기초
- rtl
- react
- 리액트
- react-query
- 딥러닝
- 자바스크립트 기초
- frontend
- TypeScript
- 디프만
- 스타일 컴포넌트 styled-components
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |