본문 바로가기

javascript, node10

[javaScript] Nullish coalescing operator(??) 사용하기 자바스크립트를 사용하면서 존재조차 몰랐던 Nullish coalescing operator에 대해서 알아보자. Nullish coalescing operator는 ?? 를 사용하여 해당하는 값을 가져온다. ?? 왼쪽에 있는 코드의 값이 있다면 그 값을 출력하게 되고, null이나 undefined일 경우 ??의 오른쪽 값이 출력된다. 코드를 보면 쉽게 이해가 된다. const sendMessage = (text) => { const message = text ?? "메시지가 없습니다."; return message; }; console.log(sendMessage("하이")); // "하이" console.log(sendMessage(undefined)); // "메시지가 없습니다." console.lo.. 2022. 2. 19.
키 자판으로 이벤트 주기(onKeyPress) 보통은 Input창에서 '확인'버튼을 눌렀을 경우 어떠한 이벤트를 발생시킨다. '확인' 버튼 뿐만 아니라 ',' 나 'enter' 등 특정 키를 클릭하였을 경우에 이벤트를 발생시키고 싶었다. 실제로 velog에서도 태그 추가시 사용되는 기능이다. 이외에도 많이 사용되어 구글링을 해보니 input태그의 onKeyPress속성을 통해서 이벤트를 발생시킬 수 있었다. import React from "react"; const testComponent = () => { const test = ({ code }) => console.log(">>>", code); return ; }; 여기서 code는 원래 e.code이지만, 구조분해할당을 통해서 {cod.. 2022. 1. 13.
스코프(scope)란? 실행컨텍스트를 공부하면서 자연스럽게 스코프에 대해서 공부하게 되었다. 자바스크립트 코드를 작성해보기 전에 배웠던 개념이라 와닿지 않았는데, 지금은 어느정도 이해가 된다. 다른 사람들은 모르겠지만, 나는 우선 코드를 작성해보고 나중에 개념을 봐야 이해가 잘 되는 것 같다. 스코프란? 자바스크립트에서만 쓰이는 개념이 아니고, 모든 언어에서 쓰이는 개념이고 가장 기본적이고 중요한 개념이다. 다른 코드가 참조할 수 있는 범위이다. 변수 이름, 함수 이름, 클래스 이름 같은 식별자가 선언된 위치에 따라 다른 코드에 참조 될 수 있을지 없을지가 결정 된다. 전역에서 선언되면 전역스코프를 갖게 되고, 지역에서 선언된다면 지역스코프를 갖게 된다. 스코프체인이란? 함수의 중첩으로 계층적인 구조를 가질 때, 상위스코프의 .. 2022. 1. 4.
실행 컨텍스트(Execution Context) - Outer 👉Outer와 스코프체이닝 💡 Outer : 이전 렉시컬 환경을 가리키기 때문에 타고타고 내려갈 수 있다. 정식 명칭 : Outer Enviroment Reference(외부 환경 참조) 💡 Scope Chaining : 상위 스코프와 연결되어 있어 참조할 수 있는 것 Outer를 통해 Scope Chaining을 할 수 있게 된다. Outer는 현재 렉시컬 환경에서 참조할 식별자가 없다면, 이전의 렉시컬 환경으로 가서 식별자를 찾는다. 이렇게 찾을 때까지 찾아 내려가고, 식별자를 발견한다면 그 식별자의 값을 출력하고 더 이상 이전 렉시컬 환경으로 내려가지 않기 때문에 콜스택 공간안에 동일한 식별자가 여럿이어도 값을 결정할 수 있다. 이것을 식별자 결정이라고 한다. 예시를 통해 알아보자. let food.. 2022. 1. 2.