조아마시

쓸모 있는 상세페이지 만들기

웹개발/javascript 53

[자바스크립트] 축약 속성 이름

축약 속성 이름(Shorthand property names)은 객체 리터럴을 생성할 때 변수 이름과 프로퍼티 이름이 동일한 경우, 반복적인 코드를 줄여 간결하게 표현하는 방법입니다. 즉, 변수 이름을 한 번만 작성해도 해당 변수의 값이 프로퍼티의 값으로 자동 할당됩니다.왜 축약 속성 이름을 사용해야 할까요?코드 가독성 향상: 중복되는 코드를 줄여 코드를 더 깔끔하게 만들 수 있습니다.개발 생산성 향상: 반복적인 코드 작성을 줄여 개발 속도를 높일 수 있습니다.축약 속성 이름 사용 예시// 일반적인 방법const name = '홍길동';const age = 30;const person = { name: name, age: age};// 축약 속성 이름 사용const name2 = '홍길동';const..

[자바스크립트] 구조 분해 할당

구조 분해 할당(Destructuring assignment)은 배열이나 객체에서 값을 추출하여 변수에 할당하는 간편한 방법입니다. 기존에는 반복문이나 인덱스를 사용하여 값에 접근했지만, 구조 분해 할당을 사용하면 한 번에 여러 값을 변수에 할당할 수 있어 코드를 더욱 간결하게 만들 수 있습니다.왜 구조 분해 할당을 사용해야 할까요?코드 가독성 향상: 복잡한 객체 구조에서 필요한 값만 추출하여 사용할 수 있어 코드를 더욱 명확하게 만들 수 있습니다.개발 생산성 향상: 반복적인 코드를 줄이고, 간결한 문법으로 값을 할당할 수 있어 개발 효율을 높입니다.함수 파라미터: 함수의 파라미터로 구조 분해 할당을 사용하여 객체를 해체하고 값을 추출할 수 있습니다.배열, 객체에서 값 추출: 배열이나 객체에서 원하는 값..

[자바스크립트] 전개 연산자

자바스크립트 전개 연산자(...)는 배열이나 객체의 요소를 개별 요소로 펼쳐서 사용할 수 있도록 해주는 문법입니다. 마치 배열이나 객체를 "펼쳐서" 다른 곳에 넣는 것처럼 생각하면 쉽습니다.왜 전개 연산자를 사용해야 할까요?코드 간결화: 반복적인 코드를 줄이고 더 간결하게 표현할 수 있습니다.유연성 향상: 다양한 상황에서 배열이나 객체를 조작하는 방식을 확장할 수 있습니다.가독성 향상: 코드의 의도를 명확하게 전달하여 가독성을 높일 수 있습니다.전개 연산자 사용법배열 전개배열 복사:const numbers = [1, 2, 3];const copiedNumbers = [...numbers];배열 병합:const array1 = [1, 2];const array2 = [3, 4];const combinedA..

[자바스크립트] 논리 널 병합 할당. ??

논리 널 병합 할당(Logical nullish assignment)은 null 또는 undefined인 값에 대해서만 할당을 수행하는 새로운 할당 연산자입니다. 기존의 할당 연산자(=)와 비슷하지만, 왼쪽 피연산자가 null 또는 undefined일 때만 오른쪽 피연산자의 값을 할당합니다.왜 논리 널 병합 할당을 사용해야 할까요?간결한 코드: 기존의 if 문이나 삼항 연산자를 사용하여 null 또는 undefined 값을 처리하는 코드를 더욱 간결하게 작성할 수 있습니다.명확한 로직: 코드의 의도를 명확하게 드러내어 가독성을 높입니다.기본값 설정: 변수에 기본값을 설정할 때 유용하게 활용할 수 있습니다.논리 널 병합 할당 사용법let x;x ||= 10; // x가 null 또는 undefined일 때..

[자바스크립트] 실행 컨텍스트 (Execution Context) 이해하기

자바스크립트 실행 컨텍스트는 코드 실행 환경을 의미하며, 다음과 같은 요소들로 구성됩니다.변수: 실행 컨텍스트 내에서 선언된 변수에 대한 정보를 저장합니다. 변수 이름, 값, 속성 등이 포함됩니다.함수: 실행 컨텍스트 내에서 선언된 함수에 대한 정보를 저장합니다. 함수 이름, 코드, 매개변수, 반환 값 등이 포함됩니다.this 객체: 실행 컨텍스트에서 활성화된 객체를 가리킵니다. 메서드 호출 시 this는 호출된 객체를 의미하며, 일반 함수 호출 시 this는 전역 객체를 의미합니다. 스코프 : 변수와 함수가 유효한 범위를 정의합니다. 자바스크립트에는 블록 스코프와 함수 스코프 두 가지가 존재합니다.실행 컨텍스트 생성 과정스크립트 실행 시, 전역 실행 컨텍스트가 하나 생성됩니다.함수가 호출될 때마다, 해..

[자바스크립트] 렉시컬 스코프 (Lexical Scope) 완벽 가이드

1. 렉시컬 스코프란 무엇인가?렉시컬 스코프는 코드 작성 위치에 따라 변수와 함수의 유효 범위를 결정하는 방식입니다. 즉, 변수나 함수를 사용하려면 해당 코드가 선언된 위치를 고려해야 합니다.렉시컬 스코프는 다음과 같은 특징을 가집니다.정적 스코프라고도 불립니다. 컴파일 시 코드 분석을 통해 스코프 체인을 결정하기 때문에, 실행 과정에서 동적으로 변하지 않습니다.블록 스코프와 함수 스코프를 포함합니다.let, const, function 키워드를 사용하여 변수와 함수를 선언할 때 적용됩니다.2. 렉시컬 스코프 vs. 다이내믹 스코프다이내믹 스코프는 변수나 함수를 사용하는 위치에 따라 유효 범위를 결정하는 방식입니다. 즉, 변수나 함수를 사용하는 코드가 실행되는 순간에 해당 변수나 함수의 유효 범위를 판단..

[자바스크립트] 스코프 (Scope) 완벽 정리

1. 스코프란 무엇인가?스코프는 변수와 함수가 유효한 범위를 정의하는 개념입니다. 즉, 어떤 코드 블록에서 어떤 변수와 함수를 사용할 수 있는지 결정합니다.자바스크립트에는 두 가지 주요 스코프 유형이 있습니다.블록 스코프: let과 const 키워드를 사용하여 선언된 변수의 유효 범위는 해당 변수가 선언된 블록 안에 국한됩니다.함수 스코프: 함수의 매개변수와 함수 내에서 선언된 변수는 해당 함수 안에서만 유효합니다.2. 블록 스코프let과 const 키워드를 사용하여 선언된 변수는 블록 스코프를 따릅니다.let 키워드: 블록 안에서 재선언 및 재할당이 가능합니다.const 키워드: 블록 안에서 재선언 불가능하며, 선언 시 반드시 값을 초기화해야 합니다.if (true) { let message = 'H..

[자바스크립트] 리터럴 (Literal) - 숫자, 문자열, 불리언, 객체, 배열

리터럴 (Literal) 이해하기리터럴은 프로그래밍 코드에서 직접적인 값을 나타내는 표현입니다. 변수에 저장하거나 연산에 사용하거나 함수의 인자로 전달할 수 있습니다. 리터럴은 다음과 같은 종류로 나눌 수 있습니다.1. 숫자 리터럴:10진수: 123, 4.5, -20.38진수: 0765, 0.12316진수: 0xFF, 0xCAFEBABE부동소수점 리터럴: 3.14159, 2.71828const num1 = 10;const num2 = 3.14;const num3 = 0xFF;2. 문자열 리터럴:작은 따옴표('') 또는 큰 따옴표("")로 묶인 문자열따옴표 안에 포함될 수 있는 특수 문자는 백슬래시()로 이스케이프 처리합니다.const str1 = 'Hello, world!';const str2 = "Th..

[자바스크립트] this 키워드 / call(), apply(), bind() 메서드

this 키워드객체 내부에서 사용될 때: this는 해당 객체 자신을 가리킵니다.함수 내에서 사용될 때: this의 값은 함수가 어떻게 호출되었는지에 따라 달라집니다.메서드로 호출될 때: this는 호출한 객체를 가리킵니다.일반 함수로 호출될 때: this는 window 객체를 가리킵니다.생성자 함수로 호출될 때: this는 생성된 객체를 가리킵니다.이벤트 핸들러 내에서 사용될 때: this는 이벤트가 발생한 요소를 가리킵니다.call() 메서드함수의 call() 메서드는 함수를 호출하고, 첫 번째 인자로 this를 지정할 수 있습니다.두 번째 인자부터는 함수에 전달할 인자를 나열합니다.function greet(greeting, name) { console.log(`${greeting}, ${this..

[자바스크립트] 변수 const / let / var

자바스크립트에서 변수를 선언하는 방법은 크게 세 가지가 있습니다: const, let, var. 각 방식마다 변수의 특성과 용도가 다르기 때문에 상황에 맞게 적절하게 선택하는 것이 중요합니다.1. const상수 선언: const 키워드는 변수값을 변경할 수 없는 상수로 선언합니다. 한 번 선언된 값은 절대로 바꿀 수 없으며, 선언하지 않고 사용하려 하면 에러가 발생합니다.호이스팅: const 변수도 호이스팅이 발생하지만, 선언되지 않은 변수처럼 undefined 값으로 초기화되지 않고 선언 블록까지 참조할 수 없습니다.블록 범위: const 변수는 선언된 블록 범위 내에서만 유효합니다. 예를 들어, if 문이나 for 루프 안에서 const 변수를 선언하면 해당 블록 밖에서는 사용할 수 없습니다.사용 예..

[lodash] Array

Lodash는 JavaScript에서 배열, 객체, 문자열 등 다양한 데이터 구조를 다루는 데 유용한 유틸리티 라이브러리입니다. 특히 배열 관련 함수는 다양한 작업을 간결하고 효율적으로 수행하도록 지원합니다.1. _.chunk(array, [size=1])array를 지정된 크기(size)의 그룹으로 나누어 배열들의 배열을 만듭니다.const numbers = [1, 2, 3, 4, 5, 6, 7];const chunks = _.chunk(numbers, 2);console.log(chunks); // 출력: [[1, 2], [3, 4], [5, 6], [7]]2. _.compact(array)array에서 거짓 값 (false, null, 0, "", undefined) 을 모두 제거한 새로운 배열을 ..

[자바스크립트] is, has, can으로 시작하는 변수 이름 규칙 알아보기

자바스크립트 변수 이름을 지을 때, 명확하고 이해하기 쉬운 이름을 사용하는 것이 중요합니다. 특히, is, has, can과 같은 단어로 시작하는 변수 이름은 변수의 특성을 명확하게 드러낼 수 있어 코드를 읽는 사람이 변수의 역할을 쉽게 이해하는 데 도움이 됩니다.1. is로 시작하는 변수:용도: 논리적인 값을 저장하는 변수에 사용됩니다. 변수 값이 참인지 거짓인지를 나타냅니다.예시:isUserLoggedIn: 사용자가 로그인되어 있는지 여부를 나타내는 변수isDarkMode: 웹사이트가 다크 모드인지 여부를 나타내는 변수isFileSaved: 파일이 저장되었는지 여부를 나타내는 변수2. has로 시작하는 변수:용도: 특정 속성이나 기능이 있는지 여부를 나타내는 변수에 사용됩니다.예시:hasAdminis..

[자바스크립트] Axios에서 POST와 GET으로 불러오는 차이

axios에서 GET과 POST는 서버와 데이터를 주고받는 방식에 있어 중요한 차이점을 가지고 있습니다.1. 사용 목적GET: 서버에 있는 자원을 조회하는 데 사용됩니다. 즉, 데이터를 가져오는 역할을 합니다. 서버 상태를 변경하지 않고 정보만 얻을 때 사용합니다.POST: 서버에 새로운 데이터를 전송하거나 기존 데이터를 수정하는 데 사용됩니다. 즉, 데이터를 변경하는 역할을 합니다. 사용자 입력 정보를 전송하거나 데이터베이스에 새로운 레코드를 추가할 때 사용합니다.2. 요청 메시지GET: 요청 메시지의 URL에 파라미터를 포함하여 데이터를 전송합니다. URL 길이 제한이 있기 때문에 소량의 데이터 전송에 적합합니다. 또한, 캐싱이 가능하기 때문에 동일한 요청을 반복적으로 수행할 때 유용합니다.POST:..

728x90