목록JavaScript (15)
oris9
유용하지만 맨날 헷갈리는 .. 메서드들 🥹🥹🥹🥹🥹 자주 쓰는 단순한 메서드들만 사용하게 되서 적어놓는다. 계속 추가 예정 reduce() 일반적으로 reduce() 는 배열에서 누적값을 다룰 때 사용한다. arr.reduce(콜백함수, 초기값설정) arr.reduce((acc, cur, idx, src)=>{},초기값설정) // 누산기 (acc) // 현재 값 (cur) // 현재 인덱스 (idx) // 원본 배열 (src) // 리듀서 함수의 반환 값은 누산기에 할당되고, // 누산기는 순회 중 유지되므로 결국 최종 결과는 하나의 값이 됩니다. 주의! 초기값을 넣어주지 않으면 배열의 첫번째 요소를 사용한다. 객체 내의 값 인스턴스 개수 세기 var names = ["Alice", "Bob", "Tiff..
1. 파라미터(parameter), 매개변수 `parmeter` 는 기본적으로 함수를 정의할 때, 사용되는 것으로 function f(x, y) { // 이때, x y가 매개변수가 된다 return x + y; } f(1,2); 이름에서 알 수 있듯이 값이 아닌 `변수`이다. 2. 전달인자, 인자, 인수, argument 제목에서와 같이 `arguments` 는 전달인자, 인자, 인수, argument로 번역될 수 있다. 전달인자라는 것은, 기본적으로 함수를 호출할 때 인자로 집어넣게 되는 값들을 이야기한다. 함수에 넘겨주기위해 끌어오는 `값`이다. 즉, function sum(x, y) { return x + y; } sum(1,2); // 이때 1, 2가 전달인자가 된다. 만약 함수를 정의할 때 받을..
웹 브라우저에서 로그인했는지, 이전에 방문한 페이지가 어딘지, 현재 페이지의 상황 등, 클라이언트 측의 데이터를 저장해야할 필요가 있을 수 있다. 이때 웹의 저장소를 이용해서 다양한 방법으로 클라이언트의 데이터를 저장할 수 있다. 관련 글 : 쿠키, 세션, 캐시에 대해 알아보기 웹스토리지(web storage) HTML5부터 도입된 개념으로, (** 도입 이전에는 쿠키를 저장소의 역할로 사용했다.) 데이터를 클라이언트 측에서 저장하고 서버와는 통신하지 않는다는 특징이 있다. 따라서 불필요하게 서버에 데이터를 저장하지 않아도 되고, 브라우저에서만 접근 가능하고 서버에서 접근은 불가능하다. `key - value`형태로 데이터를 저장하고, 저장용량은 모바일은 2.5Mb, 데스크탑은 5Mb~10Mb 정도이다...
리터럴(literal)이란 자바스크립트에서 리터럴은 코드에서 고정된 값을 나타내는 표기법으로, 사람이 이해할 수 있는 문자 또는 미리 약속된 기호로 표기한 코드를 말한다. 값을 계산하기 위해 변수나 표현식을 사용할 필요 없이 코드에서 직접 값을 표현한다. 리터럴 유형 리터럴 유형은 매우 다양하게 존재하지만 크게 다음과 같이 나눌 수 있다. 1. 숫자 리터럴 숫자를 나타내며 10진수, 16진수 또는 지수 표기법으로 작성할 수 있다. 정수 리터럴, 부동소수점 리터럴, 2진수 리터럴, 8진수 리터럴 등 예 ) 42, 0xFF, 1.23e-4. 2. 문자열 리터럴 2-1. 텍스트 문자열을 나타내며 작은따옴표 또는 큰따옴표로 묶습니다. 예 ) "Hello, World!" 2-2. 템플릿 리터럴 ES6부터 새로 도..
클래스 개념 이해하기 1. 클래스의 개념과 특징 클래스는 객체를 만들기 위한 설계도로, 프로토타입 성질을 좀 더 쉽게 사용하기 위한 ES6에 추가된 문법적 부가기능이다. Prototype과 달리 constructor라는 함수가 별도로 존재한다. 클래스 선언은 호이스팅 되지 않는다는 특징이 있다. 낮은 응집도와 낮은 결합도를 가진 클래스를 설계해야한다. * 응집도 (한 모듈 내부의 요소들이 서로 관련되어 있는 정도) * 결합도 (서로 다른 모듈(클래스) 간 상호 의존 정도 적절하게 관심사를 분리하여 각 항목이 높은 독립성을 가지도록 설계해야한다. 오픈소스 유저 라이브러리등을 참고해서 좋은 코드를 작성하기 2. Getter , Setter 클래스 내부에서 쓰이는 일종의 메서드로, Getter는 객체의 속성(..
인증 누군가의 신원을 확인 권한 특정 사용자가 가능한 행동을 확인하는 것. 보통 권한 부여는 사용자가 인증된 후 일어남 암호를 그대로 저장하면 안됨 해시함수로 암호를 처리해서 데이터베이스에 저장함 (해독불가능한 결과물) 해시함수(임의크기 데이터를 입력하면 고정된 크기의 데이터를 출력해줌) 암호화 해시함수, 암호화안전해시함수는 단방향 함수임. 역추적이 불가능함. 입력값에 작은변화가 있을 때 출력값에 큰 변화가 생김. 항상 동일한 값이 출력됨 정확히 똑같은 값이 출력될 확률이 매우 낮아야함 느려야함. 그래야 안전 솔트 추가 안전장치 다양한 사이트에서 같은 암호를 쓰는 사람이 많이 때문에 .. 역방향조회테이블을 만들지못하게하는방법임 시작이나 끝에 솔트를 추가해서.. 솔트는 따로 기록해둬야함. 솔트는 무작위성 ..
JavaScript의 동작원리에 대해 (콜스택, 큐, 이벤트루프) ES6 기준으로 작성되었습니다 *Heap : 변수나 객체 같은 참조 타입들이 이곳에 할당됨 JavaScript는 콜스택방식으로 코드를 처리하고, 한 번에 코드를 한 줄만 수행할 수 있습니다.(=싱글스레드처리방식) 콜스택(Call Stack) 방식이란, 호출된(call)된 코드들이 push되어 콜스택에 쌓이면서(stack) 코드 처리가 진행됩니다. 이때, 코드는 팬케이크처럼 아래에서 위로 쌓이게 됩니다. 이렇게 콜스택에 쌓인 코드는 위에서부터 처리되며, 값이 반환되면(실행 완료되면) 빠져나갈 수(pop)될 수 있게 됩니다. (나중에 들어온 코드가 먼저 나갈 수 있는 구조임, 선입후출) 만약 함수1이 매개변수로 다른 함수(함수2)에서 반환된 ..