JavaScript

JavaScript

Property Attribute

object property 객체의 프로퍼티는 크게 두가지로 나눌 수 있습니다. 우리가 흔히 key & value 형태의 프로퍼티들이 data propety에 해당됩니다. 새롭게 알게 된점은 접근자 프로퍼티입니다. 새로운 종류의 프로퍼티이며 본질은 함수인데, 외부 코드에서는 함수가 아닌 일반적인 프로퍼티처럼 보이는 특이한 점입니다. 접근자 프로퍼티에는 getter(조회) 와 setter(설정)로 표현됩니다. 객체 리터럴 안에서 getter는 get 으로 setter는 set으로 표현됩니다. 데이터 프로퍼티(data propety) : 키와 값으로 형성된 실질적 값을 가지고 있는 프로퍼티 접근자 프로퍼티 (accessor propety) : 다른 값을 가져오거나 설정할 때 호출되는 함수로 구성된 프로퍼티입..

JavaScript

Object.defineProperty()

Object.defineProperty() 객체에 새로운 속성을 직접 정의하거나 이미 존재하는 속성을 수정한 후, 해당 객체를 반환합니다. Object.defineProperty(obj, prop, descriptor); obj : 속성을 정의할 객체 prop: 새로 만들거나 수정하려는 속성 이름 descriptor : 객체에 정의하는 속성을 기술하는 객체 desciptor 의 속성 목록 속성 설명 기본 값 value 속성값 undefined configurable true-> 속성값을 변경하거나 삭제 가능 false writable true-> 할당 연산자로 속성의 값 변경 가능 false enumarable true-> 열거가 가능. for in 과 같은 반복문에서 해당 프로퍼티 반환 false se..

JavaScript

[Javascript] 프로그래머스 - 문자열 다루기 기본

https://school.programmers.co.kr/learn/courses/30/lessons/12918 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음 풀이 false조건을 기준으로 문제 풀이를 시도했습니다. 먼저 s 문자열의 길이가 4가 아니고 6이 아닐때 상황을 거릅니다. 그리고 문자열을 문자하나하나씩 검사해 숫자가 아닐 경우의 수를 찾기위해 메서드 isNaN() 를 사용했습니다. function solution(s) { if((s.length!==4) &&( s.length!==6)){ return false } [...s].forEa..

JavaScript

MSW.js으로 Mocking with TS

Mocking을 하는 여러 방법 중 MSW.js를 이용해 봅시다. MSW.js MSW(Mock Service Worker)는 API Mocking 라이브러리며, 서버향의 네트워크 요청을 가로채 모의 응답을 보내줍니다. Mock 서버를 구축하지 않아도 API 를 네트워크 수준에서 Mocking 할 수 있다네요. MSW.js 는 서버로 가는 네트워크 요청을 어떻게 가로채 응답을 줄 수 있을 까요? 이유는 Service Worker 때문입니다. Service Worker 웹 애플리케이션의 메인 스레드와 분리된 별도의 백그라운드 스레드를 실행시킬 수 있는 기술입니다. 다음과 같은 기능이 있습니다. 특히 네트워크 요청을 가로채는 행위를 통해 HTTP Request 와 Response를 보고 캐싱처리 등 다양한 작..

JavaScript

var, let, const

#var 문제점 # let 와 var 키워드의 차이 # TDZ # 실행컨텍스트 #변수 선언#변수명 # 초기값 # 재할당 var, let, const의 차이점 1. 변수 선언 전에 호출 ✅ var undefined ⛔️ let, const는 에러 2. 재선언 ✅ var는 이미 존재하는 동일한 변수명 선언 가능 ⛔️ let, const 3. 선언시 초기값 ✅ var, let 변수 선언시 초기값 안줘도 됨 ⛔️ const 반드시 할당 4. 재할당 ✅ var, let ⛔️ const는 한번 할당한 값은 변경할 수 없음(객체 속 프로퍼티 변경은 막지 못함) 만약 객체의 프로퍼티를 변경하고 싶지 않으면 Object.freeze() 사용 →답변: JavaScript는 es6 문법 도입 이전까지 var 키워드의 변수 ..

JavaScript

JavaScript에서 비동기

동기와 비동기의 차이 동기 Synchronous 요청과 그 결과가 동시에 일어난다. 요청을 보낸 후 응답(=결과)를 받아야지만 다음 동작이 이루어지는 방식이다. 순서에 맞춰 진행된다.설계가 매우 간단하다.여러 가지 요청을 동시에 처리할 수 없고 대기해야 한다. 비동기 Asynchronous 요청과 결과가 동시에 일어나지 않는다. 요청에 따른 응답을 즉시 처리하지 않아도, 대기 시간동안 다른 요청에 대한 처리가 가능하다. 동기 방식보다 속도가 느리고 복잡하다.자원을 효율적으로 사용할 수 있다. → 답변: 동기는 요청을 보낸 후 응답(=결과)를 받아야지만 다음 동작이 이루어지는 방식입니다. 여러가지 요청을 동시에 처리할 수 없고 순서에 맞춰 진행하기에 설계가 매우 간단하고 직관적이지만 결과가 주어질 때까지 ..

JavaScript

[JS] 순열(Permutation)

순열이란 순열이란 n개의 원소를 갖는 집합에서 순서를 생각하고 중복 없이 모든 경우의 수를 선택하는 것을 말합니다. 백트래킹(backtracking)/ DFS 를 활용하여 문제를 접근할 수 있습니다. ex) 집합이 ["a" , "b", "c"] 주어질 때 ["a" , "b", "c"] ["a" , "c", "b"] [ "b", "a" , "c"] ["b", "c", "a"] [ "c", "a" , "b"] ["c", , "b", "a" ] 순열구현 집합이 ["a" , "b", "c"] 주어질 때 요소 a,b,c를 각각 순서대로 픽스하고 나머지 요소만으로 이루어진 배열에서 (seletNumber-1)만큼을 선택하여 또 순열을 구한다.(재귀) function getPermutation (array, sel..

JavaScript

MDN Syntax 구문 . MDN 대활호 의미

1. MDN Syntax 구문 대괄호 [ ] 의 의미 MDN을 보다보면 중간에 어색한 문법같은 [ ] 대괄호가 존재합니다. 이는 해당 메서드의 설명을 돕기 위한 MDN만의 고유한 Syntax 구문입니다. Syntax의 [ ... ] 안에 들어간 매개변수는 생략이 가능하다는 의미이며, 이는 아래 매개변수 사진의 Optional 마크가 찍혀있는 매개변수들과 동일하다는 것을 알 수 있습니다. 그래서 .forEach를 부가적인 매개변수 활용없이 구현한다면 아래와같이 표현할 수 있습니다. 2. 대활호가 중첩된 경우 대괄호가 중첩되어있는 경우 안쪽에 있는 대활호에 있는 매개변수를 사용하려면 꼭 바깥쪽 에 감싸고 있는 대활호에 있는 매개변수를 같이 작성해야 합니다. map 메서드 사용시 매개변수 arr(array) ..

에밀오구
'JavaScript' 카테고리의 글 목록