728x90

javascript 9

Map 객체 살펴보기

Map 객체는 key-value로 이루어진 데이터 구조이다. Map에 key-value는 모든 타입에 대해서 사용 가능하다. const map1 = new Map(); map1.set('a', 1); map1.set('b', 2); map1.set(1, 3); console.log(map1.get('a')); // Expected output: 1 console.log(map1.get('b')); // Expected output: 2 console.log(map1.get(1)); // Expected output: 3 Map은 한 객체 내에서 key는 오직 단 하나만 존재해야 한다. ex) { 'a': 1, 'a': 2 } → X Map 객체는 for .. of 구문을 사용하여 내부 요소를 참조할 수 ..

String 객체 살펴보기

String은 다들 알다시피 문자열을 나타내는 객체이다. JavaScript에서 사용하는 String의 주요 내장 메서드는 무엇이 있는지 살펴보자. String - JavaScript | MDN The String object is used to represent and manipulate a sequence of characters. developer.mozilla.org 공식 문서에 나와있는 주요 메서드는 String의 길이를 반환하는 length, String 객체에 뒤에 추가로 붙여주는 +, += 연산자, 부분 문자열 포함 여부 및 그 위치를 알려주는 indexOf(), 부분 문자열을 추출해주는 substring()이 있다. String 인스턴스 생성 방법 const string1 = "A str..

Components와 Props

https://ko.legacy.reactjs.org/docs/components-and-props.html Components와 Props – React A JavaScript library for building user interfaces ko.legacy.reactjs.org Component는 React Element를 생성하기 위해 쓰이는 틀이다. Component를 통해 UI를 재사용 가능한 여러 조각으로 나누고, 각 조각을 사용할 수 있다. (Component 추출) Component는 props라는 속성을 사용하여 다른 엘리먼트를 만들어 낼 수 있다. Component의 종류 Function Component function Welcome(props) { return Hello, {pro..

Element Rendering

https://ko.legacy.reactjs.org/docs/rendering-elements.html 엘리먼트 렌더링 – React A JavaScript library for building user interfaces ko.legacy.reactjs.org Element는 React App의 가장 작은 단위이다. React에 모든 엘리먼트는 root 엘리먼트 안에 들어가게 되는데, 이 모든 엘리먼트는 React DOM에서 관리하고,` root 엘리먼트는 root DOM 노드라고도 한다. React 엘리먼트를 렌더링 하기 위해서는 우선, DOM 엘리먼트를 ReactDOM.createRoot()에 전달하고, React 엘리먼트를 root.render()에 전달해야 한다. const root = Rea..

JSX란?

https://ko.legacy.reactjs.org/docs/introducing-jsx.html JSX 소개 – React A JavaScript library for building user interfaces ko.legacy.reactjs.org JSX(JavaScript Xml)이란? → 자바스크립트의 문법을 확장시킨 것, JavaScript + XML / HTML 이다. ex) JSX 코드 const element = Hello, world!; JSX의 역할 JSX는 내부적으로 XML, HTML 코드를 JavaScript로 변환하는 과정을 거치게 된다. JSX → JavaScript로 변환을 도와주는 함수인 React.createElement가 내장되어 있음. // JSX를 사용한 코드 cl..

Array 객체 살펴보기

배열이란 리스트처럼 다수의 값들을 순차적으로 포함하고 있는 하나의 객체이다. 배열 만들기 var shopping = ["bread", "milk", "cheese", "hummus", "noodles"]; 배열은 보통 대괄호를 사용하여 표시를 한다. 또한, JavaScript의 경우, 배열 내부의 한 타입으로만 이루어지는 것이 아닌 다양한 형태의 요소들을 함께 넣을 수 있다. var sequence = [1, 1, 2, 3, 5, 8, 13]; var random = ["tree", 795, [0, 1, 2]]; 배열 내부 요소의 총 개수를 알고 싶은 경우 array.length 를 통해 알 수 있다. ※ 간혹 length()로 헷갈릴 수 있는데 이 부분은 조심하자! var sequence = [1, 1..

일치 연산자(Strict equality operators)

JavaScript에서 값을 비교할 때, 보통 동등 연산자(==, !=)를 사용하여 비교할 두 변수의 값 일치 여부를 판단한다. 이 때, 변수 타입에 상관없이 값만 비교하여 일치 여부를 판단하게 되는데 값 뿐만 아니라 타입 일치 여부도 비교를 하고 싶은 경우에 사용하는 것이 '일치 연산자'이다. let a = 1; let b = '1'; console.log(a == b); // true console.log(a != b); // false console.log(a === b); // false console.log(a !== b); // true

[Express] app.use()를 사용한 url 접속 시, interceptor 처리

한 서비스에서 url 접속 시, 로그인 접속 여부에 따라 접속이 가능, 아니면 로그인 페이지로 이동하여 로그인 후, 접속할 수 있게 하는 처리 과정이 필요할 것이다. 이를 해결하기 위해서는 url 이동 시, 로그인 검사 여부를 하는 interceptor에서 처리를 하게끔 하는 것이 좋은 방법이라 생각이 들었다. express의 경우 app.use()를 이용하여 손쉽게 해결할 수 있었다. app.use(function(req, res, next) { const originUrl = req.originalUrl; if(/* 로그인 ok ex) 세션 정보로 확인 */) { next(); // url 이동 } else /* 로그인 false인 경우 */ { res.redirect("/login"); // 로그인..

Programming/Node.js 2024.02.14

Base64를 Blob 또는 File 객체로 변환하기

Base64 인코딩은 Binary Data를 Text로 변경하는 인코딩이다. atob() → Base64 인코딩된 문자열 데이터를 디코딩한다. atob(encodedData); // base64 인코딩된 데이터를 담은 이진 문자열 charCodeAt() → index에 해당하는 문자의 unicode 값을 리턴한다. "ABC".charCodeAt(0); // "ABC"에 0번째 인덱스인 "A"의 unicode 값을 리턴한다. var bs64 = data; const byteCharacters = atob(bs64); const byteNumbers = new Array(byteCharacters.length); for(let i=0; i

728x90