본문 바로가기

전체 글140

constructor, prototype 연습문제 Q1. 다음 코드의 출력 결과는? function Parent() { this.name = 'Kim'; } var a = new Parent(); a.__proto__.name = 'Park'; console.log(a.name); 답: 더보기 Kim Q2. 모든 array에 적용할 수 있는 함수를 직접 새로 만들려면 어떻게 해야할까요? var arr = [1,2,3]; arr.remove3(); console.log(arr); //[1,2] 답: var arr = [1, 2, 3]; Array.prototype.remove3 = function (element) { for (var i = 0; i < this.length; i++) { if (this[i] === 3) { this.splice(i, 1.. 2024. 2. 24.
Spread, rest 파라미터 연습문제 Q1. 아래 코드의 출력 결과는? var a = [1,2,3]; var b = '김밥'; var c = [...b, ...a]; console.log(c); 답: 더보기 ['김', '밥', 1, 2, 3] Q2. 대괄호가 가득한 아래 코드의 결과는? var a = [1,2,3]; var b = ['you', 'are']; var c = function(a,b){ console.log( [[...a], ...[...b]][1] ) } c(a,b); 답: 더보기 you Q3. 아래 코드의 출력 결과는? function 함수(a = 5, b = a * 2 ){ console.log(a + b); return 10 } 함수(3); 답: 더보기 9 Q4. 아래 코드의 출력 결과는? function 함수(a = 5.. 2024. 2. 24.
변수 퀴즈 JS의 호이스팅이 뭔지 알고 있나? 더보기 호이스팅 같은 경우는 아래와 같이 코드가 있을 때 코드를 해석하는 순간, var 이름을 먼저 초기화하고 그 다음에 값을 입력하는 것. function 함수(){ console.log('hello'); var 이름 = 'Kim'; } (아래와 같이 해석) function 함수(){ var 이름; // 2024. 2. 23.
this & arrow function 퀴즈 해당 퀴즈의 중점은 function의 사용방법으로 인해서 변하게 되는 this의 의미를 잘 구분하는 것이 포인트이다. 해당 개념을 잘 구분할 수 있다면 아래 문제를 풀수 있을 것! Q. 이 this는 출력하면 뭐가 나올까요? var 오브젝트2 = { data : { 간지함수 : function(){ console.log(this) } } } 오브젝트2.data.간지함수(); 답은 console창에 쳐보는 걸로. 더보기 window Q.이벤트리스너 안에서 콜백함수를 쓴다면 this는? document.getElementById('버튼').addEventListener('click', function(e){ var 어레이 = [1,2,3]; 어레이.forEach(function(){ console.log(t.. 2024. 2. 21.
[WIL] Day 18 ~~~프로세스 개요~~~ 포그라운드 프로세스(foreground process): 사용자가 볼 수 있는 공간에서 실행되는 프로세스 백그라운 프로세스(background process): 사용자와 직접 상호작용이 가능한 백그라운드 프로세스, 사용자와 상호작용하지 않고 그저 정해진 일만 수행하는 프로세스(데몬, 서비스) 프로세스 제어 블록 모든 프로세스는 실행을 위해 CPU가 필요 그러나 CPU자원은 한정 프로세스는 한정된 시간 만큼만 cpu사용. 빠르게 번갈아 수행되는 프로세스들을 관리해야 이를 위해 사용하는 자료구조가 프로세스 제어 블록(PCB) PCB에 담기는 대표적인 정보 PID 레지스터 값: 프로세스는 자신의 실행 차례가 오면 이전까지 사용한 레지스터 중간 값을 모두 복원 -> 실행 재게. 예) 프.. 2023. 6. 19.
[WIL] Day 17 ~~~RAM의 특성과 종류~~~ RAM이크면 뭐가 좋은가, 작으면 뭐가 불리한가? RAM의 종류들은? RAM의 특징. RAM은 실행할 대상을 저장, 그치만 전원이 꺼지면 기억을 못한다. RAM은 휘발성저장장치, 보조기억장치는 비휘발성 저장 장치이다. RAM의 종류 크게 4가지 DRAM SRAM SDRAM DDR SDRAM DRAM(Dynamic RAM) 동적의 저장된 데이터가 동적으로 사라지는 RAM 데이터 소멸을 막기 위해 주기적으로 refresh해주어야한다. 일반적으로 메모리로 사용되는 RAM SRAM(Static RAM) 정적인 저장된 데이터가 사라지지 않는 RAM DRAM보다 일반적으로 빠름. 일반적으로 캐시 메모리에서 사용되는 RAM, “대용량 필요없고 빨리 처리해야할때 유용” SDRAM(Syn.. 2023. 6. 19.
[WIL] Day 16 ~~~ALU와 제어장치~~~ ALU는 피연산자를 레지스터로부터 받아오고 제어장치로 부터 제어 신호를 받아들인다. 결과값을 레지스터에 담는다. 단지 ALU이 내보내는 정보중 하나. 플래그. ALU가 내보내는 다른 결과, 플래그는 연산 결과애 대한 부가 정보. overflow나타날때도 플래그에 담김. 주된 플래그의 종류 부호 플래그 제로 플래그: 연산 결과가 0인지 나타냄. 캐리 플래그 오버플로우 플래그 인터럽트 플래그: 인터럽트 가능한지 나타냄 슈퍼바이저 플래그: 커널 모드로 실행하는지 사용자 모드로 실행중인지 나타낸다. 위의 플래그들은 플래그 레지스터에 저장이 된다. 제어장치 제어장치가 받아들이는 정보, 클럭 이라는게 있다. 클럭신호는 컴퓨터의 모든 부품을 일사불란하게 움직일 수 있게 하는 시간 단위, .. 2023. 6. 18.
[WIL] Day 15 ~소스 코드와 명령어~ 저급언어의 두가지 기계어 어셈블리어 기계어는 0과 1로 이루어진 명령어로 구성된 저급 언어이다. 16진수로 표기되기도 한다. 기계어를 사람들이 읽고 쓰기 편한 형태로 변환한 저급언어가 어셈블리어 정리하면… 어셈블리어는 0과 1로 이루어진 기계어를 읽기 편한 형태로 번연한 저급 언어이다. 고급언어가 저급언어로 변환되는 과정에는 크게 2가지 방식이 존재 컴파일 인터프리트 컴파일 언어가 저급언어로 변환되는 과정: 고급언어(소스코드) -> 컴파일(컴파일러) -> 저급언어(목적코드/object code) 정리하자면 컴파일 언어로 작성된 소스코드는 컴파일러에 의해 저급 언어로 변환이 되고(이 과정을 컴파일이라고 한다). 컴파일 결과로 저급 언어인 목적 코드가 생성이 된다. (더욱 자세한 단계.. 2023. 6. 17.
[WIL] Day 14 ~컴퓨터 구조를 알아햐 하는 이유~ 컴퓨터를 미지의 대상에서 분석의 대상으로 전환하기 위해 CS를 배우는 것이라고 생각하자. 성능, 용량, 비용. 절대로 간과해서는 안되는 것들. ~컴퓨터구조의 큰 그림~ 앞으로 배울 크게 2가지 주제 컴퓨터가 이해하는 정보 컴퓨터의 네가지 핵심 부품 컴퓨터가 이해하는 정보는 크게 2가지 데이터 명령어 데이터란 숫자, 문자, 이미지 같은 정적인 정보. 명령어는 컴퓨터를 실질적으로 움직이는 정보. 컴퓨터의 4가지 핵심부품, 이 부품들은 다양한 종류의 컴퓨터에 모두 동일하게 들어가있음. CPU 메모리(RAM, 이해하는데 더 중요함) 보조기억장치 입출력장치 메인보드(마더보드)로 연결한다. 시스템버스: 정보를 주고 받는 통로, 그중 가장 중요한 버스, 4가지 부품이 정보를 교환하.. 2023. 6. 10.