개발일지/Javascript (10) 썸네일형 리스트형 [Javascript] 리스트 Deep Copy Before for (const el of list) { copyList.push(el); } After const copyList = [...list]; 2진수 → 10진수 const str = "101" parseInt(str, 2); 만약 문자열의 길이가 Number의 범위를 넘어가면 parsing이 되지 않는다. 이럴땐 BigInt 사용 const str = "10100000100100110110010000010101111011011001101110111111111101000000101111001110001111100001101" BigInt("0b" + str); // 이렇게도 BigInt(`0b${str}`); 0b를 앞에 붙히면 2진수가 된다. console.log("0b111"); // 7n 조건 실수 n.toString(2).split('').map(v => v === 1 ? 0 : 1).join(''); BinaryString값의 complement를 구하기 위해 위와 같이 구현하였다. 하지만 기대하는 결과 값이 나오지 않았다. 원인은 === 에 있었다. split 까지 한 결과는 [ "1", "0", "1" ] 이런 식이다. String 값과 Number값을 비교해서 false에 해당하는 값으로만 나온 것이었다. ==은 값만 ===은 type까지 비교한다. 수정해보면 n.toString(2).split('').map(v => v == 1 ? 0 : 1).join(''); 혹은 n.toString(2).split('').map(v => v === "1" ? 0 : 1).join(''); 로 해야할 .. [Javascript] String to array String to char array const array = s.split(""); title이 포함된(인덱스 0에) String to array const string = "SI JAVA JAVASCRIPT SQL PYTHON C#"; const [title, ...langs] = string.split(" "); // title = "SI" // lagns = [ 'JAVA', 'JAVASCRIPT', 'SQL', 'PYTHON', 'C#' ]; [Javascript] array sort 다중 조건 성적값으로 내림차순, 같은 성적이라면 이름값을 사전순(오름차순)으로 나열하고 싶다. 기존 코드 array.sort((a, b) => { if (b.score - a.score 0) return 1; else if (b.name b.score - a.score - (a.name < b.name)); 승률(desc), 이긴횟수(desc), 체중(desc), 번호(asc) 기준으로 정렬할 때 위의 방법으로 하면 단위가 모두 달라 적용하기 힘들다. 기존 코드 const result = array.sort((a, b).. [JWT] 클라이언트에서의 관리 JWT (Json Web Token) What is JWT ? aaaaaa . bbbbbb . cccccc 헤더(header) 내용(payload) 서명(signature) Header typ : 토큰 타입 "JWT" alg : 해싱알고리즘 "HS256" 혹은 "RSA" Payload registered claim iss, sub, exp, jti 등등 public claim private claim (claim : 정보를 담는 조각. 단위) Signature hash(encode(Header) + "." +encode(Payload) , secret) 클라이언트에서 jwt를 어떻게 관리할 것 인지 ? 쿠키 or 로컬스토리지 쿠키와 로컬스토리지의 차이는? LocalStorage Cookie 장점 .. [JavaScript] 문자열 반복되는 문자열 생성 const BLANK = "_"; const result = BLANK.repeat(number); 문자열 합치기 1. +연산 const a = "_"; const b = "+"; const c = "-"; const result = a + b + c; 2. list to string (join) const a = "_"; const b = "+"; const c = "-"; const result = []; result.push(a,b,c); result.join(""); 성능 비교 (1) 59175 ms vs (2) 220 ms https://stackoverflow.com/questions/2087522/does-javascript-have-a-built-in-stringbui.. Java와 JavaScript의 차이점 Java 1. 클래스 기반의 객체 지향 언어 2. JVM -> 운영체제 관계 없이 대부분의 시스템에서 사용 가능 3. 컴파일 언어 4. 변수 자료형 반드시 선언 JavaScript 1. 프로토타입 기반의 스크립트 언어 2. 인터프리터 언어 3. 변수 자료형을 선언하지 않아도 된다. ( why? 브라우저가 자동으로 파악 ) 이전 1 2 다음