let, const : ES6이상 버전부터 사용var변수 재선언 가능변수 선언 전 사용 가능 (호이스팅)var : 변수 선언은 호이스팅 되지만, 값 할당은 호이스팅되지 않음.let변수 재선언 불가능let은 에러 발생let, const도 호이스팅 됨. 근데 왜 error
비슷한 객체를 여러 개 만들 때 사용첫 글자는 대문자로 작성new 연산자로 함수 호출new 함수명(); 실행 시 로직1\. 빈 객체를 만들고 this에 할당2\. this에 프로퍼티 추가3\. this 반환주의이 때, this.showPrice() 에서 ${this.p
user 변수에는 객체 자체가 아니라, 객체가 저장되어 있는 메모리 주소인 객체에 대한 참조값만 존재함. cloneUser에는 참조값만 복사됨. 하나의 객체를 두 변수가 공유하는 것.동일하게 복제하기 위해서는 object.assign(초기값, 복사할 객체) 사용해야함.
숫자형, 불린형도 객체의 key가 될 수 있음 --> 문자형으로 반환됨 접근시에도 문자형으로 취급 : obj['1'] > 객체의 프로퍼티 키는 문자형, 심볼형 가능 심볼 유일한 식별자를 만들 때 사용 -> 유일성 보장 new 키워드 붙이지 않음 console로
toString() 숫자를 문자로 변환 ()안에 숫자를 입력하면 해당 숫자의 진법로 변환 Math 수학과 관련된 프로퍼티와 메소드를 가지고 있음 Math.ceil() : 올림 Math.floor() : 내림 Math.round() : 반올림 toFixed(n)
' 와 "는 차이가 크게 없다. \- ''으로 감싼 문장 안에서는 ""를 사용""으로 감싼 문장 안에서는 ''를 사용\`\`으로 감싼 문장 안에서는 ${}을 사용하여 변수를 사용하거나 표현식을 쓸 수 있음
n번째 요소부터 m개 삭제idx는 0부터 시작기존 배열이 변경됨idx n번째 요소부터 m개 삭제 후, x 추가splice를 사용하면 기존 배열은 특정 요소가 삭제된 채로 변경되고, 삭제된 요소를 결과로 반환함idx n부터 m까지 반환m은 포함하지 않고 m바로 앞까지임m
기존 배열 자체가 변경됨정렬 시 배열의 요소를 문자열로 취급함10보다 3이 크다고 판단인수로 정렬 로직을 담은 함수를 전달해야함오름차순 정렬 로직a와 b를 받아서 a-b실행a-b = 양수 : 자리 그대로a-b = 음수 : a와 b의 자리 바꿈fn 로직은 b-a로 설정하
배열이나 객체의 속성을 분해해서 그 값을 변수에 담을 수 있게 하는 표현식만약, users4가 있다면?배열에 해당하는 값이 없는 경우split을 이용한 배열 구조 분해할당받을 배열을 빈칸으로 남겨두거나 할당할 배열보다 적을 경우 해당 값을 무시함 a=1, b=2 라는
다음과 같이 인수(name)을 받아서 출력하는 함수가 있을 때, 인수는 꼭 하나만 들어오지 않을 수도 있다.인수가 두 개 이상인 경우 : 첫 번째 인수와 undefined가 나옴인수가 들어오지 않은 경우 : undefined 출력arguments주의: 화살표 함수에는
Closure : 함수와 함수가 선언된 어휘적 환경 (Lexical scope)의 조합 어떤 변수에 함수를 리턴하고 리턴한 함수 안에서 변수값을 저장하였다면 리턴하는 함수가 클로저를 형성함. 해당 함수의 Lexical 환경에 변수가 저장되어있기 때문에, 함수
: 함수 호출 방식과 관계없이 this 지정 가능: 함수 호출 시, call을 사용하고 this로 사용할 객체를 넘기면 해당 함수가 주어진 객체의 메소드인 것 처럼 사용 가능.함수.call(this객체, 호출 함수로 전달되는 매개변수) 로 사용모든 함수에서 사용 가능t
: 일정시간이 지난 후 함수를 실행setTimeout(fn, s)fn : 일정시간이 지난 후 실행할 함수s : 함수를 실행할 시간 지정 (ms)1000 : 1초setTimeout() 안에 함수를 직접 작성하는 것도 가능세 번째 인자로 함수에 넣을 인수 전달 가능여러개의
obj.hasOwnProperty() 라는 메소드로 객체가 해당 프로퍼티를 가지고 있는지 여부를 알 수 있음 .hasOwnProperty()는 객체의 \_\_proto\_\_안에 기본적으로 들어있는 메소드임크롬 브라우저 콘솔창Q. 만약, 객체가 .hasOwnProper
비슷한 모양의 객체를 생성하기 위한 두 가지 방법 1. 생성자 함수 mike : 객체 내부에 showName 존재 2. class prototype 내부에 showName 존재 showName 사용방법은 동일 생성자 함수로 class와 동일하게 객체 생성하기
Promise promise = new Promise() 로 생성 참고 : resolve(), reject() = callback 함수 callback 함수 : 어떤 일이 완료된 이후 실행되는 함수 new Promise 생성자가 반환하는 promise 객체
async : 함수 앞에 async 키워드를 호출할 경우 항상 Promise를 반환함 promise 객체이기 때문에 async 함수 호출 후, .then() 사용 가능 promise 객체를 반환하므로 .then 사용 가능 반환값이 Promise면, Promise.r
Generator : 함수의 실행을 중간에 멈췄다가 재개할 수 있는 기능 function 옆에 *을 붙여서 생성 내부에 yield 키워드 사용 yield 에서 함수의 실행을 멈출 수 있음 generator 함수 실행하면 generator 객체 반환 generator