전체 글
-
[Javascript] 2진수, 8진수, 16진수, 비트 연산자, bigInt웹/JavaScript 2023. 1. 13. 17:40
I. 다른 진법들 👉 MDN 문서 보기 2진법 binary 0b 뒤로 숫자 0, 1 를 붙여 표현 [ 0b1, 0b10, 0b11, 0b100, 0b101 ].forEach(i => console.log(i)) console.log( 0b2 // ⚠️ 토큰으로 인식 - 오류 ); 8진법 octal 0o 뒤로 숫자 0~7 를 붙여 표현 [ 0o7, 0o10, 0o100, 0o1000, ].forEach(i => console.log(i)) console.log( 0o8 // ⚠️ 토큰으로 인식 - 오류 ); 16진법 hexadecimal 0x 뒤로 숫자 0~9, A~F 를 붙여 표현 [ 0x9, 0xA, 0xB, 0xC, 0xd, 0xe, 0xf, 0x10, 0xFFFFFF ].forEach(i => co..
-
[Javascript] JSON, stringfy, parse, toJSON, 깊은복사,structuredClone웹/JavaScript 2023. 1. 13. 09:31
I. JSON JavaScript Object Notation 복잡한 구조를 가질 수 있는 데이터를 한 줄의 문자열로 표현 서버와 클라이언트 등 데이터들을 주고받는 주체들 사이에 널리 사용 II. JSON 객체의 정적 메서드 1. stringify - 객체를 문자열로 직렬화 serialize 👉 MDN 문서 보기 const person = { name: '김달순', age: 23, languages: ['Korean', 'English', 'French'], education: { school: '한국대', major: ['컴퓨터공학', '전자공학'], graduated: true, } }; const personStr = JSON.stringify(person); console.log(typeo..
-
[Javascript] 프로퍼티 어트리뷰트, getOwnPropertyDescriptor,defineProperty,getDeepFrozen웹/JavaScript 2023. 1. 13. 09:07
I. 프로퍼티 어트리뷰트 property attributes 객체의 프로퍼티가 생성될 때 엔진에 의해 자동 정의되는 상태 💡 프로퍼티에는 두 종류가 있음 const person = { // ⭐️ 1. 데이터 프로퍼티들 fullName: '홍길동', ageInNumber: 25, // ⭐️ 2. 접근자 프로퍼티들 get name () { return this.fullName .split('') .map((letter, idx) => idx === 0 ? letter : '*') .join(''); }, get age () { return this.ageInNumber + '세'; }, set age (age) { this.ageInNumber = Number(age); } } console.lo..
-
[Javascript] Object, assign, key, values, entries, preventExtensions, seal, freeze, isFrozen웹/JavaScript 2023. 1. 12. 21:02
I. Object 클래스 👉 MDN 문서 보기 이제까지 배운 자바스크립트 객체들의 원형 console.log( new String('ABC') instanceof Object, new Number(123) instanceof Object, [] instanceof Object, (function () {}) instanceof Object, globalThis instanceof Object ); 각각 따로 출력해서 [[Prototype]]을 펼쳐 볼 것 생성자 함수 // 빈 객체 생성 console.log( new Object(), new Object(null), new Object(undefined), ); // 각 값에 적합한 래핑함수로 작용 console.log( new Object(1), new..
-
[Javascript] 스프레드, spread, 디스트럭쳐링, destructuring웹/JavaScript 2023. 1. 12. 20:17
I. 스프레드 spread 1. 기본 문법 const arr1 = [1, 2, 3]; const arr2 = [...arr1]; console.log(arr2); const arr1 = ['B', 'C']; const arr2 = ['D']; const arr3 = ['E']; const arr4 = ['A', ...arr1, ...arr2, ...arr3, 'F'] console.log(arr4); 2. 활용 a. 배열을 다수의 인자들로 펼침 const arr1 = [1, 2, 3, 4, 5]; console.log(arr1); // console.log(1, 2, 3, 4, 5); console.log(...arr1); console.log( Math.max(...arr1), Math...
-
[Javascript] 고차함수 메소드 (forEach, map, find,findLast,findIndex,findLastIndex, some, every, filter, reduce, sort, reverse, flatMap)웹/JavaScript 2023. 1. 12. 19:35
배열의 고차함수 higher order function 메서드 다른 함수(콜백 함수 callback function)를 인자로 받음 함수형 프로그래밍 - 변수 사용 없이 순회 작업들을 코딩 1. forEach - 각 요소를 인자로 콜백함수 실행 💡 for문의 좋은 대체제 ⚠️ 단점 : 예외를 던지지 않으면 종료할 수 없음 - break, continue 사용 불가 인자들: 콜백함수 - 인자: ( 현재 값, 현재 값의 인덱스, 해당 배열 ) thisArg - this 주제 섹션에서 다룰 것 const arr = [1, 2, 3, 4, 5]; const result = arr.forEach(itm => { console.log(itm); }); // 💡 결과로는 undefined 반환 - 실행 자체를 위..
-
[Javascript] 배열 , new Array, Attay.of, Array.from, isArray, instanceof Array, at, includes, indexOf,lastIndexOf, join, push, unshuft,pop,splice,fill,reverse,concat,slice,flat,웹/JavaScript 2023. 1. 12. 16:51
I. 자바스크립트의 배열은 다르다. 다른 언어들의 배열 전형적인 배열 한 배열에는 같은 자료형의 데이터만 포함 가능 데이터의 메모리 주소가 연속으로 나열됨 접근은 빠름, 중간요소의 추가나 제거는 느림 자바스크립트의 배열 ⭐️ 배열의 형태와 동작을 흉내내는 특수 객체 한 배열에 다양한 자료형의 데이터가 들어갈 수 있음 연속나열이 아님 - 💡 엔진에 따라 요소들의 타입이 동일하면 연속 배열하기도... 접근은 상대적으로 느림 (일반 객체보다는 빠름), 중간요소의 추가나 제거는 빠름 💡 특정 자료형 전용 배열도 있음 - 더 빠름 🔗 MDN 문서 보기 II. 배열 생성 방법들 1. 배열 리터럴 const arr1 = []; // 빈 배열 const arr2 = [1, 2, 3]; const arr3 = [1, ,..
-
[Javascript] Date 객체 - Date.now, Date.parse,Date.UTC, .toString(),toDateString(), getTime,setTime,웹/JavaScript 2023. 1. 12. 14:03
날짜와 시간 관련 기능들을 제공하는 빌트인 객체 👉 MDN 문서 보기 I. 생성자 함수 1. 현재 날짜와 시간 const now = new Date(); console.log(typeof now); console.log(now); const nowStr = Date() console.log(typeof nowStr); console.log(nowStr); new와 함께 사용하면 인스턴스 객체 없이 사용하면 문자열 반환 - new Date().toString()과 같음 2. 밀리초 기준 1970년 1월 1일 자정(UTC, 그리니치 평균시)으로부터 인자로 주어진 밀리초만큼 경과한 시간 ⚠️ 이 강의에서의 자정은 해당 일 0시 0분 0초 의미 console.log( new Date(0) ); conso..