일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 완강
- HTML
- 생각정리
- computerscience
- WIL
- 버킷리스트
- CSS
- JS
- 숙제
- 쿠키
- 3주차
- react
- 4주차
- Todo
- 자바스크립트는왜그모양일까
- 화살표함수
- 스터디
- OperatingSystem
- Til
- CS
- javaScript기초
- OS
- 실전프로젝트
- DOM
- 항해99
- 알고리즘
- javascript
- 1주차
- chapter2
- 5주차
- Today
- Total
목록용어 및 개념 정리/javascript (6)
개발캡슐
순수함수 순수함수(pure function) - 어떤 외부 상태에 의존하지않고 변경하지도 않는, 부수 효과가 없는 함수야. 즉, 동일한 인수가 전달되면 언제나 동일한 값을 반환하고 전달된 인수에게만 의존해 반환값을 만들어. - 부작용(side-effect)이 없는 함수, 즉 함수의 실행이 외부에 영향을 끼치지 않는 함수야. 그래서 순수 함수는 스레드 안전하고, 병렬적인 계산이 가능해. 외부 상태 : 전역 변수, 서버 데이터, 파일, Console, DOM 등이 있어. 스레드 안전 - "하나의 함수"가 한 스레드로부터 "호출"되어 실행 중일 때, "다른 스레드가 그 함수를 호출"하여 "동시에 함께 실행"되더라도 각 스레드에서의 함수의 "수행 결과가 올바로 나오는" 것. - return 값으로만 소통해. -..

const const const는 constant의 줄임말이자 "상수"라는 뜻이야. 상수란 변하지 않는 값을 의미하지. 재할당 되지않는 값인 상수를 변수로 선언하기 위한 키워드고. 하지만 상수의 값을 바꾸는 코드인, 배열 혹은 객체를 조작해도 에러가 나지 않아. 배열과 객체를 const 선언할 때는 요소나 속성을 추가, 수정, 삭제가 가능해. 왜일까? 배열, 객체를 const로 선언했는데 요소나 속성 등의 값이나 데이터를 추가(&수정, 삭제)할 수 있는 이유? 상수는 재할당에 의해 변경될 수 없고, 상수는 재선언 될 수 없어. 따라서 const로 선언한 배열 또한 재할당과 재선언이 될 수 없어. 하지만 - const 변수에 할당된 값은 바뀌진 않지만, 배열/객체가 변수에 할당될 때는 배열/객체의 요소(값..

require, import require, import require, import 두 개의 키워드는 모두 하나의 파일에서 다른 파일의 코드를 불러온다는 동일한 목적을 가지고 있어. 기본적으로 MomentJS라는 라이브러리를 불러오는 동일한 작업을 수행하지. 동일한 목적이지만 다른 문법을 가지고 있어. require - NodeJS에서 사용되고 있는 CommonJS키워드야. - CommonJS방식을 따른 첫번째 코드는 require키워드를 사용해서 다른 변수를 할당하듯이 모듈을 불러와. - 주의사항으로, CommonJS방식으로 모듈을 내보낼 때는 특정 변수나 그 변수의 속성으로 내보낼 객체를 세팅해줘야 해. (ES6처럼 명시적으로 선언하는 게 아니야.) 1. 여러 개의 객체를 내보낼 경우, export..

매개변수(Parameter)와 인자(Argument) 그림을 보자면, x 와 y는 매개변수(Parameter, 인자)에 해당하고 함수를 정의할 때 사용되는 변수야. 그리고 add(2, 5)에서 2와 5를 전달인자(argument, 인수)라고 부르고 파라미터(매개변수)에 할당되는 값을 말해. 정리 매개변수 - 함수를 정의할 때 사용되는 변수 - 함수의 특별한 성질을 나타내는 변수. 인수 - 실제로 함수가 호출될 때, 넘기는 변수값 - 함수에 인풋으로 들어온 데이터 function plus(num1, num2){ return num1 + num2; } //num1과 num2는 parameter(매개변수) plus(10, 20); // 10, 20은 argument(인자) - 매개변수와 인수가 일치하지 않느 ..

Hoisting(호이스팅)? TDZ? Hoisting(호이스팅) 호이스팅은 함수 안에 정의된 변수의 선언문을 해당 함수 유효 범위(scope)의 최상단으로 끌어올려서 선언하는 것처럼 보이는 현상이야. *인터프리터(interpreter)가 선언을 하기 전에 "변수와 함수의 메모리 공간"을 "미리 할당"하는 걸 의미해. 변수나 함수를 선언하기 이전에 사용할 수 있기 때문에 가능한 거지. 그래서 끌어 올려지는 것처럼 보이는 거고. '선언과 할당의 분리'라고 생각하면 기억하기 편해. 즉, 변수의 선언과 초기화를 분리한 후, 선언만 코드의 최상단으로 옮기는 거야. 따라서 변수를 정의하는 코드보다 사용하는 코드가 앞서 등장할 수 있단 얘기지. -> 다만, 선언과 초기화를 함께 수행하는 경우, 선언 코드까지 실행해야..
this this 키워드 - this는 자신이 속한 객체 또는 자신이 생성할 인스턴스를 가리키는 자기 참조 변수(self-referenceing variable)이야. - 동작을 나타내는 메서드는 자신이 속한 객체의 상태(프로퍼티)를 참조하고 변경 할 수 있어야 해. 이때, 자신이 속한 객체를 가리키는 식별자를 참조할 때 자기 참조 변수로 this를 사용해. 객체 리터럴에서 this를 사용하는 예제 //객체 리터럴 const circle = { radius: 5, getDiameter() { //this는 메서드를 호출한 *객체를 가리켜. // this => circle (radius를 가진 circle이란 객체) return 2 * this.radius; } }; console.log(circle.ge..