자바스크립트란 ?‘웹페이지에 생동감을 불어넣기 위해’ 만들어진 프로그래밍 언어입니다.자바스크립트의 어원!처음 자바스크립트가 만들어졌을 때는 LiveScript’라는 이름으로 불렸습니다. 그런데, 당시 자바의 인기가 아주 높은 상황이었습니다. 관련인들은 자바스크립트를 자
숫자형 - 정수, 부동 소수점 숫자 등의 숫자를 나타낼 때 사용합니다. 정수의 한계는 ±2^53 입니다., \- 추가로 Infinity(무한대), -Infinity, NaN(계산중 에러) 까지 포함 \- 숫자형으로의 변환은 수학과 관련된 함수와 표현식에서
if (…) 괄호 안의 표현식을 평가하고 그 결과를 불린값으로 변환합니다.삼항연산자let result = condition ? value1 : value2;OR "||" 연산자를 여러 개 체이닝(chaining) 하면 첫 번째 truthy를 반환합니다. 피연산자에 tr
null 병합 연산자(nullish coalescing operator) ??를 사용하면 짧은 문법으로 여러 피연산자 중 그 값이 ‘확정되어있는’ 변수를 찾을 수 있습니다.
기본값매개변수에 값을 전달하지 않으면 그 값은 undefined가 됩니다.showMessage("Ann"); //에러 없이 "Ann: undefined"가 출력됩니다.매개변수에 값을 전달하지 않아도 그 값이 undefined가 되지 않게 하려면 '기본값(default
함수를 생성하고 변수에 값을 할당하는 것처럼 함수가 변수에 할당되었습니다. 함수가 어떤 방식으로 만들어졌는지에 관계없이 함수는 값이고, 따라서 변수에 할당할 수 있습니다. 위 예시에선 함수가 변수 sayHi에 저장된 값이 되었습니다.위 예시를 간단한 말로 풀면 다음과
이렇게 코드를 작성하면 인자 arg1..argN를 받는 함수 func이 만들어집니다. 함수 func는 화살표(=>) 우측의 표현식(expression)을 평가하고, 평가 결과를 반환합니다.인수가 하나밖에 없다면 인수를 감싸는 괄호를 생략 가능인수가 하나도 없을 땐 괄호
가로 길이https://ko.javascript.info/coding-style
키로 구분된 데이터 집합이나 복잡한 개체(entity)를 저장객체는 중괄호 {…}를 이용해 만듦괄호 안에는 ‘키(key): 값(value)’ 쌍으로 구성된 프로퍼티(property) 를 여러 개 넣을 수 있는데, 키엔 문자형, 값엔 모든 자료형이 허용객체 생성방법del
객체는 ‘참조에 의해(by reference)’ 저장되고 복사됨원시값(문자열, 숫자, 불린 값)은 ‘값 그대로’ 저장·할당되고 복사됨참조에 의한 복사 예시참조에 의한 복사가 아닌 정말 새로운 객체에 값을 복사하고 싶을때!동작방식 1.첫 번째 인수 dest는 목표로 하는
자바스크립트 튜토리얼은 https://ko.javascript.info/ 이걸로 정했다여러개 찾아봤었는데 동영상 까지는 필요없을거같고.. 문법에 너무 치중되있지는 않아서..? 추가로 깔끔한 번역에 적당해보이는 과제?여러 자료들에서 주관적인 자료말고 객관적인 자
자바스크립트는 도달 가능성(reachability) 이라는 개념을 사용해 메모리 관리를 수행.‘도달 가능한(reachable)’ 값은 쉽게 말해 어떻게든 접근하거나 사용할 수 있는 값을 의미도달 가능한 값은 메모리에서 삭제되지 않음명백한 이유없이 삭제 되지 않는값 -
메서드 내부에서 this 키워드를 사용하면 객체에 접근 가능this를 사용하지 않는 방식this가 아닌 user로 프로퍼티를 호출 시, user가 삭제되고 새로운 객체에서 프로퍼티를 호출하면 에러가 나기때문에 왠만하면 this사용!JS에서는 this는 런타임시 결정!'
1.함수 이름의 첫 글자는 대문자로 시작합니다.2.반드시 "new" 연산자를 붙여 실행합니다.1.빈 객체를 만들어 this에 할당합니다.2.함수 본문을 실행합니다. this에 새로운 프로퍼티를 추가해 this를 수정합니다.3.this를 반환합니다.생성시 발생하는 일ne
?.은 ?.'앞’의 평가 대상이 undefined나 null이면 평가를 멈추고 undefined를 반환user?.address로 주소를 읽으면 아래와 같이 user 객체가 존재하지 않더라도 에러가 발생하지 않습니다.위 예시를 통해 우리는 ?.은 ?. ‘앞’ 평가 대상에
원시값을 객체처럼 사용시 내부 동작1\. 원시값은 원시값 그대로 남겨둬 단일 값 형태를 유지합니다.2\. 문자열, 숫자, 불린, 심볼의 메서드와 프로퍼티에 접근할 수 있도록 언어 차원에서 허용합니다.3\. 이를 가능하게 하기 위해, 원시값이 메서드나 프로퍼티에 접근하려
숫자를 입력하는 다양한 방법숫자 옆에 'e'를 붙이고 0의 개수를 그 옆에 붙여주면 숫자를 줄일 수 있습니다.toString(base)num.toString(base) 메서드는 base진법으로 num을 표현한 후, 이를 문자형으로 변환해 반환합니다.base는 2에서 3
arr.push(...items) – 맨 끝에 요소 추가arr.pop() – 맨 끝 요소 제거arr.shift() – 맨 앞 요소 제거arr.unshift(...items) – 맨 앞에 요소 추가push와 unshift는 요소 여러 개를 한 번에 가능배열의 내부 동작
문자열은 작은따옴표나 큰따옴표, 백틱백틱을 사용하면 문자열을 여러 줄에 걸쳐 작성 가능문자열의 길이length 프로퍼티엔 문자열의 길이특정 글자에 접근하기for..of를 사용하면 문자열을 구성하는 글자를 대상으로 반복 작업문자열의 불변성문자열의 중간 글자 하나를 바꾸려
배열을 일반화한 객체이터러블 이라는 개념을 사용하면 어떤 객체에든 for..of 반복문을 적용할 수 있습니다.Symbol.iteratorrange를 이터러블로 만들려면(for..of가 동작하도록 하려면) 객체에 Symbol.iterator(특수 내장 심볼)라는 메서드를
위크맵의 키가 반드시 객체위크맵의 키로 사용된 객체를 참조하는 것이 아무것도 없다면 해당 객체는 메모리와 위크맵에서 자동으로 삭제위크맵은 반복 작업과 keys(), values(), entries() 메서드를 지원하지 않음weakMap.get(key)weakMap.se
Object.keys, values, entrieskeys(), values(), entries()를 사용할 수 있는 자료구조MapSetArrayObject.keys, values, entries일반 객체엔 다음과 같은 메서드를 사용할 수 있습니다.Object.keys
\*\*객체나 배열을 변수로 '분해’할 수 있게 해주는 특별한 문법인 구조 분해 할당(destructuring assignment) 을 사용가능쉼표를 사용하여 요소 무시하기할당 연산자 우측엔 모든 이터러블이 올 수 있습니다.할당 연산자 좌측엔 뭐든지 올 수 있습니다..
불린형 형변환시!전달받은 값 형 변환 후0, null, undefined, NaN, "" false그 외의 값 true함수 선언문function sayHi() { alert( "Hello" );}함수표현식let sayHi = function() { alert( "H
원시값은 원시값 그대로 남겨둬 단일 값 형태를 유지합니다.문자열, 숫자, 불린, 심볼의 메서드와 프로퍼티에 접근할 수 있도록 언어 차원에서 허용합니다.이를 가능하게 하기 위해, 원시값이 메서드나 프로퍼티에 접근하려 하면 추가 기능을 제공해주는 특수한 객체, "원시 래퍼
알고리즘문제 풀면서 배열만큼 중요한게 없는것 같다.함수, 함수사용법 다 외워야 할듯!pop배열 끝 요소를 제거하고, 제거한 요소를 반환합니다.push배열 끝에 요소를 추가합니다.shift배열 앞 요소를 제거하고, 제거한 요소를 반환합니다.unshift배열 앞에 요소를
배열을 일반화한 객체iterable 객체는 for..of 반복문 적용 가능Symbol.iteratorSymbol.iterator객체가 존재한다면 for..of적용 가능range객체를 for..of호출 시 발생하는 일1\. for..of가 시작되자마자 for..of는 S
맵맵(Map)은 키가 있는 데이터를 저장한다는 점다양한 자료형을 허용new Map() – 맵을 만듭니다.map.set(key, value) – key를 이용해 value를 저장합니다.map.get(key) – key에 해당하는 값을 반환합니다. key가 존재하지 않으면
Object.keys(obj) – 객체의 키만 담은 배열을 반환합니다.Object.values(obj) – 객체의 값만 담은 배열을 반환합니다.Object.entries(obj) – 키, 값 쌍을 담은 배열을 반환합니다.구조 분해 할당쉼표를 사용하여 요소 무시할당 연산
JSON.stringify – 객체를 JSON으로 바꿔줍니다.JSON.parse – JSON을 객체로 바꿔줍니다.JSON.stringify(value, replacer, space)value인코딩 하려는 값replacerJSON으로 인코딩 하길 원하는 프로퍼티가 담긴
함수의 정의와 상관없이 넘겨주는 인수의 개수에는 제약이 없음...args 배열‘arguments’ 변수배열이 아닌 유사배열객체인덱스를 사용해 모든 인수 접근가능화살표 함수에는 존재하지 않음화살표 함수에서 사용시 일반함수의 arguments객체를 가져옴spread 문법배
‘name’ 프로퍼티‘length’ 프로퍼티내장 프로퍼티 length는 함수 매개변수의 개수를 반환클로저를 함수 프로퍼티로 사용가능'new Function' 문법문자열을 함수로 바꿀 수 잇음let func = new Function (arg1, arg2, ...argN
인수로 받은 함수의 행동을 변경시켜주는 함수 this를 명시적으로 고정해 함수를 호출할 수 있게 해주는 특별한 내장 함수 메서드 func.call(context, …args)func.call(context, arg1, arg2, ...)메서드를 호출하면 메서드의 첫
배열을 일반화한 객체iterable 객체는 for..of 반복문 적용 가능Symbol.iteratorSymbol.iterator객체가 존재한다면 for..of적용 가능range를 for..of호출 시 발생하는 일1\. for..of가 시작되자마자 for..of는 Sym
객체 프로퍼티는 값(value) 과 함께 플래그(flag)라 불리는 특별한 속성 세 가지를 가짐writable – true이면 값을 수정할 수 있습니다. 그렇지 않다면 읽기만 가능합니다.enumerable – true이면 반복문을 사용해 나열할 수 있습니다. 그렇지 않