| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 31 |
- nest
- 중첩 구조 분해
- 카카오 소셜로그인
- 로그스태시
- JSON.parse
- nextjs
- react-slick
- AGGREGATE
- 객체
- TypeScript
- 자바스크립트
- 이메일 전송
- 카카오로그인
- Map
- DB
- nodemailer
- nestjs
- logstash
- 구조 분해 할당
- JSON.stringify
- 참조에 의한 객체 복사
- MongoDB
- javacript
- 위크셋
- context switch
- 위크맵
- 화살표 함수
- 캐러셀
- JavaScript
- Mongoose
- Today
- Total
목록Language/JavaScript (46)
뚜sh뚜sh
nullish 병합 연산자 (nullish coalescing operator) ?? - 안정성 관련 이슈 때문에 &&나 ||와 함께 사용하지 못함 (괄호를 넣는다면 사용 가능) a ?? b // a가 null도 아니고 undefined도 아니면 a // 그 외의 경우는 b '??'와 '||'의 차이 - ||는 첫 번째 truthy 값을 반환 - ??는 첫 번째 정의된 값을 반환 let height = 0; alert(height || 100); // 100 alert(height ?? 100); // 0 연산자 우선순위 - 우선순위는 5로 낮은 편이라 =와 ?보다는 먼저, 대부분의 연산자보다는 나중에 평가됨
|| (OR) - 인수 중 하나라도 true이면 true를 반환하고, 그렇지 않으면 false를 반환 첫 번째 truthy를 찾는 OR 연산자 '||' 1. 변수 또는 표현식으로 구성된 목록에서 첫 번째 truthy 얻기 OR 연산자와 피연산자가 여러 개인 경우: 1. 가장 왼쪽 피연산자부터 시작해 오른쪽으로 나아가며 피연산자를 평가 2. 각 피연산자를 불린형으로 변환 후, 그 값이 true 이면 연산을 멈추고 해당 피연산자의 변환 전 원래 값을 반환 3. 피연산자 모두를 평가한 경우(모든 피연산자가 false)엔 마지막 피연산자를 반환 alert(1 || 0); // 1 alert(undefined || null || 0); // 0 2. 단락 평가 - 단락 평가란 truthy를 만나면 나머지 값들은 ..
'if'문 - if(...) 문은 괄호 안에 들어가는 조건을 평가하는데, 그 결과가 true 이면 코드 블록이 실행됨 - if 문을 쓸 때는 조건이 참일 경우 실행되는 구문이 단 한 줄이더라도 중괄호 {} 를 사용해 코드를 블록으로 감싸는 것이 가독성 증가를 도움 'else'절 - if 문엔 else 절을 붙일 수 있음 - else 뒤에 이어지는 코드 블록은 조건이 거짓일 때 실행됨 - else 는 필수가 아닌 선택 사항임 'else if'로 복수 조건 처리하기 - 유사하지만 약간씩 차이가 있는 조건 여러 개를 처리해야 할 때 사용 조건부 연산자 '?' - 물음표 연산자라고도 불림 - 삼항 연산자라고도 불림 - 조건에 따라 반환 값을 달리하려는 목적으로 만들어짐 // 가독성을 위해 괄호를 사용할 것을 권..
문자열 비교 - 자바스크립트는 '사전' 순으로 문자열을 비교 - 정확히는 사전 순이 아니라 유니코드 순임 - '사전편집' 순이라고 불리기도 하는 이 기준을 적용하면 사전 뒤쪽의 문자열은 사전 앞쪽의 문자열보다 크다고 판단됨 - 앞의 문자열의 문자가 같은데 문자열의 길이가 다른 두 문자열을 비교한다면 문자열의 길이가 더 긴 문자열이 크다고 결론 냄 동등 연산자 ( == ) - 동등 연산자는 0과 false 를 구별하지 못함 - 동등 연산자가 형이 다른 피연산자를 비교할 때 피연산자를 숫자형을 바꾸기 때문에 구별을 못함 일치 연산자 ( === ) - 일치 연산자는 형 변환 없이 값을 비교할 수 있음 - 일치 연산자는 엄격한 동등 연산자임 (strict equality operator) - 일치 연산자는 자료..
용어 : '단항', '이항', '피연산자' 피연산자 (operand) - 연산자가 연산을 수행하는 대상 - '인수' 라는 용어로 불리기도 함 - 피연산자를 하나만 받는 연산자는 단항 연산자라고 부름 - 피연산자의 부호를 뒤집는 단항 마이너스 연산자 - 는 단항 연산자의 대표적인 예 - 두 개의 피연산자를 받는 연산자는 이항 연산자라고 부름 // 왼쪽 피연산자 : 5, 오른쪽 피연산자 : 2 5 * 2 // 단항 마이너스 연산자 사용 let x = 1; x = -x; 수학 - 자바스크립트에서 지원하는 수학 연산자는 다음과 같음 - 덧셈 + - 뺼셈 - - 곱셈 * - 나눗셈 / - 나머지 % - 거듭제곱 ** 이항 연산자 '+' 와 문자열 연결 let s = "my" + "string"; alert(s);..
형 변환 - 함수와 연산자에 전달되는 값은 대부분 적절한 자료형으로 자동 변환됨 - 전달받은 값을 의도를 갖고 원하는 타입으로 변환(명시적 변환)해 주는 경우에도 형 변환이라 할 수 있음 문자형으로 변환 - String(값) 함수를 통해 변환 숫자형으로 변환 - 수학과 관련된 함수와 표현식에서 자동으로 일어남 - Number(값) 함수를 통해 변환 전달받은 값 형 변환 후 undefined NaN null 0 true and false 1과 0 string 문자열의 처음과 끝 공백이 제거됨 공백 제거 후 남아있는 문자열이 없다면 0, 그렇지 않다면 문자열에서 숫자를 읽음 변환을 실패하면 NaN 불린형으로 변환 - Boolean(값) 함수를 통해 명시적으로 불리언으로의 형 변환을 수행할 수 있음 - 숫자 ..
alert, prompt, confirm은 브라우저 환경에서 사용되는 최소한의 사용자 인터페이스 기능임 alert - 이 함수가 실행되면 사용자가 "확인" 버튼을 누를 때까지 메시지를 보여주는 창이 떠있게 됨 - 메시지가 있는 작은 창은 모달 창이라고 부름 - 모달이란 단어엔 페이지의 나머지 부분과 상호 작용이 불가능하다는 의미가 내포되어 있음 alert("Hello"); prompt - 두 개의 인수를 받음 - 함수가 실행되면 텍스트 메시지와 입력 필드, 확인 및 취소 버튼이 있는 모달 창을 띄워줌 - 사용자는 프롬프트 대화상자의 입력 필드에 원하는 값을 입력하고 확인을 누를 수 있음 - 값 입력을 원하지 않는 다면 취소 버튼을 누르거나 Esc를 눌러 대화상자를 빠져나가면 됨 - 확인을 누르면 사용자가..
숫자형 - 정수 및 부동소수점 숫자를 나타냄 - 일반적인 숫자 외에 Infinity, -Infinity, NaN 같은 특수 숫자 값도 포함됨 - 내부 표현 방식 때문에 자바스크립트에선 (2^53 -1) === (9007199254740991) 보다 큰 값 혹은 -(2^53-1) 보다 작은 정수는 '숫자형'을 사용해 나타낼 수 없음 BigInt - 표준으로 채택된 지 얼마 안 된 자료형으로, 길이에 상관없이 정수를 나타낼 수 있음 - 값은 정수 리터럴 끝에 n을 붙이면 만들 수 있음 const bigInt = 1234567890123456789012345678901234567890n; 문자형 - 문자열을 따옴표로 묶음 - 따옴표는 세 종류가 있음 (큰따옴표, 작은따옴표, 역 따옴표(백틱)) let name..
변수 - 데이터를 저장할 때 쓰이는 이름이 붙은 저장소 let message; // let을 통해 변수 생성(선언) message = "hello"; // 할당 연산자 = 를 사용해 변수 안에 데이터 저장 alert(message); // 문자열이 변수와 연결된 메모리 영역에 저장되었기 때문에, 변수명을 이용해 문자열 접근 가능 변수 명명 규칙 1. 변수명에는 오직 문자와 숫자, 그리고 기호 $와 _만 들어갈 수 있음 2. 첫 글자는 숫자가 될 수 없음 3. 여러 단어를 조합하여 변수명을 만들 땐 카멜 표기법을 흔히 사용함 상수 - 변화하지 않는 변수를 선언할 땐, let 대신 const를 사용함 - 대문자 상수는 하드 코딩한 값의 별칭을 만들 때 사용하면 됨 const COLOR_BLACK = "#ff..
use strict - 엄격 모드를 활성화 하면 새롭게 제정된 ES5의 새로운 기능들, 기존 기능 중 변경된 기능들을 활성화하게 함 - 이 지시자가 스크립트 최상단에 오면 스크립트 전체가 '모던한' 방식으로 동작 - 지시자 위에 위치한 명령문은 엄격 모드가 활성화되지 않음 - 함수 앞에 지시자가 위치하면 그 함수만 엄격 모드가 활성화됨 - 한 번 use strict를 활성화시키면 이전 방식으로 되돌리는 지시자는 존재x 'use strict'를 꼭 사용해야 하나요? - 코드를 클래스와 모듈을 사용해 구성한다면 사용하지 않아도 됨 (그 둘은 use strict가 자동 적용됨) - 엄격 모드를 사용하면 개발자의 질이 조금 더 높아지는 장점이 있음