목록개발 (53)
게으른개발너D
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/eueSGb/btsp2iHv3Ks/K9TIy7UUrl0byBXplZp3xk/img.jpg)
https://developer.mozilla.org/ko/docs/Web/JavaScript/Guide/Expressions_and_operators 표현식과 연산자 - JavaScript | MDN 이번 장에서는 JavaScript의 표현식과 함께 할당, 비교, 산술, 비트 계산, 논리, 문자열, 삼항 등 다양한 연산자를 살펴보겠습니다. developer.mozilla.org 일반적으로 웹사이트는 여러개의 자바스크립트로 이루어져 있다. 대부분 스크립트 언어의 특징이지만 자바스크립트는 파일들을 각각 별개의 프로그램으로 취급하고 있다. 자바스크립트 프로그램은 무엇으로 이루어져있을까? 그것은 앞으로 알아볼 표현식(Expressions)과 문장(Statements) 두 가지 카테고리로 이루어져 있다. ✨ 표..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/oLt8L/btsp0Q5S5k7/QtnckRbjhhtENz7mrmRJok/img.jpg)
변수를 선언할 때 자바스크립트 내부에선 어떤 일이 발생할까? 해당 코드를 실행할 때 자바스크립트는 변수에 고유식별자를 생성하고 메모리에 주소를 할당한다. 최종적으로 생성한 주소에 값을 넣게 된다. 이 과정을 시각화 하면 다음과 같다. 우리가 선언한 변수나 상수는 값을 바라보고 있는 것이 아닌 메모리 주소를 바라보고 있다. 만약 여기에 새로운 변수에 기존 변수를 대입하면 어떻게 될까? 답은 간단하다. 아래 그림과 같이 기본 변수의 메모리 주소를 참조하게 된다. 만약 기존 변수를 조작하면 어떻게 될까? 두번째 생성한 변수의 값도 변하게 될까? 이번에는 그렇지 않다. 새로운 메모리 주소를 할당 받고 그곳에 값을 넣게 된다. 그 이유는 자바스크립트에서 원시 값은 변경이 불가능하기 때문이다. 따라서 원시 타입의 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/lx7Zq/btsnkL1KxOi/tW6dvO0UlW471YWBLz9h41/img.jpg)
Array prototype 1. Array.prototype.copyWithin( ) 배열의 일부를 얕게 복사한 뒤, 동일한 배열의 다른 위치에 덮어쓰고 그 배열을 반환한다. 이 때, 크기(배열의 길이)를 수정하지 않고 반환한다. array.copyWithin(target, start, end); index target 자리에 array의 index start에서 end 전까지의 element를 복사해서 넣음 array.copyWithin(target, start); index target 자리에 array의 index start에서 끝까지의 element를 복사해서 넣음 [1, 2, 3, 4, 5].copyWithin(-2); // [1, 2, 3, 1, 2] [1, 2, 3, 4, 5].copyWi..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/sc63W/btsnj8JznQR/tBJAvzliinKeddr2K6MdY1/img.jpg)
String prototypes 1. String.prototype.charCodeAt( ) 주어진 인덱스에 대한 UTF-16 코드를 나타내는 0부터 65535 사이의 정수를 반환 const sentence = "Hi"; // "문자열".charCodeAt(문자열 자릿수); const char = sentence.charCodeAt(0); // "Hi"에서 0번째 index인 'H'를 번호로 변환 console.log(char); // 72 cf) String.fromCharCode() - 아스키코드표 번호 코드 번호 코드 번호 코드 33 ! 64 @ 95 _ 34 " 65 A 96 ` 35 # 66 B 97 a 36 $ 67 C 98 b 37 % 68 D 99 c 38 & 69 E 100 d 39 ' ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ciUPcl/btsnoEmSeZv/OP6cKB1ZKzofrrqTTllOh1/img.jpg)
Object Setting the Initial Value const arr = ["a", "b", "a", "a", "b", "c", "a", "b"]; const obj = {}; for(const a of arr) { if(obj[a] === undefined) { obj[a] = 1; } else { obj[a] += 1; } } console.log(obj) // { "a": 4, "b": 3, "c": 1 } 이렇게 할 수도 있지만 논리 연산자 || 를 이용하여 한 줄로 작성할 수도 있음 const arr = ["a", "b", "a", "a", "b", "c", "a", "b"]; const obj = {}; for(const a of arr) { obj[a] = (obj[a] || 0) +..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/148Wd/btsnn7bRMtp/PK8WPqZhOKcTLrhXKkkj00/img.jpg)
Math Method 1. Math.sqrt( ) 숫자의 제곱근 반환 Math.sqrt(4) // 2 Math.sqrt(2) // 1.414213562373095 Math.sqrt(0) // 0 Math.sqrt(-3) // NaN 2. Math.random( ) 0 이상 1 미만의 구간에서 랜덤 수 생성 // 3이상 64이하의 랜덤 숫자 생성 const min = 3; const max = 64; const num = Math.floor(Math.random() * (max - min + 1) + min); 3. Math.trunc( ) 주어진 값의 소수부분을 제거하고 숫자의 정수부분을 반환. Math.floor()를 쓸 수도 있지만 숫자가 마이너스 값일 경우 소수부분을 제거한 값과 다른 값이 나오기때..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/etFajA/btsni9heW46/3CKSQ0y3kU7cKeUVkEX5T1/img.jpg)
Number Prototypes 1. Number.prototype.toString() 10진수를 n진수로 변환 const num = 5; // 5를 2진수로 변환 const change1 = num.toString(2); console.log(change1); // output:{string} "101" // 5를 4진수로 변환 const change2 = num.toString(4); console.log(change2); // output:{string} "11" 반대) (Built-in Objects) parseInt() [Built-in Objects] 까먹는 것 정리 Built-in Objects (표준내장객체) 1. parseInt() n진수를 10진수로 변환 (문자열 인자를 파싱하여 특정 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/czNtS4/btsnnNdBJzX/Pp1cQFP0vgMu159RxA26tK/img.jpg)
Built-in Objects (표준내장객체) 1. parseInt() n진수를 10진수로 변환 (문자열 인자를 파싱하여 특정 진수의 정수를 반환) const numStr = '101'; // 2진수 '101'을 10진수로 변환 const change1 = parseInt(numStr, 2); console.log(change1); // output:{number} 5 // 5진수 '101'을 10진수로 변환 const change2 = parseInt(numStr, 5); console.log(change2); // output:{number} 26 반대) Number.prototype.toString() [Number] 까먹는 것 정리 Number Prototypes 1. Number.prototyp..