자바스크립트는 오랫동안 호환성 이슈 없이 발전 기존의 기능을 변경하지 않고 새로운 기능이 추가 덕분에 기존에 작성한 코드는 절대 망가지지 않는 장점이 존재 하지만 자바스크립트 창시자들이 했던 실수나 불안전한 결정이 언어 안에 영원히 박제된다는 점ES5에서는 새로운 기능
데이터를 저장할때 쓰이는 '이름이 붙은 저장소'let 키워드를 사용하여 변수를 선언이제 할당 연산자 =를 통해 변수 안에 데이터를 저장good이라는 문자열이 message라는 변수 안에 저장되어 있기 때문에 변수명을 이용하여 문자열을 출력한줄에 여러 변수를 선언하는 것
기본 연산자와 수학 피연산자는 연산자가 연산을 수행 하는 대상 5 * 2에는 왼쪽 피연산자 5와 오른쪽 피연산자 2, 총 두개의 피연산자가 있다. 피연산자는 인수라는 용어로 불림 피연산자를 하나만 받는 연산은 단항 연산자라고 함 두개의 피연산자를 받은 연산자는 이
true가 반환되면 긍정,참,사실을 의미false가 반환되면 부정, 거짓, 사실이 아님을 의미자바스크립트는 사전 순으로 문자열 비교단어를 구성하는 문자 하나하나를 비교하여 등재 순서를 정하는 것과 같이 자바스크립트도 문자열을 구성하는 하나하나를 비교해가며 문자열을 비교
if문은 괄호 안에 들어가는 조건을 평가하는데 조건이 참일 경우 코드 블록 실행if 문은 괄호 안의 표현식을 평가하고 그 결과를 불린값으로 변환숫자 0, 빈문자열"",null,undefiend,NaN은 불린형으로 변환 시 모두 false가 됩니다. 이런 값들은 fals
자바스크립트엔 세 종류의 논리 연산 ||(or), &&(and), !(not) 연산이 존재값을 비교 시 인수 중 하나라도 true 일시 true를 반환, 그렇지 안하면 false 반환이때 or || 연산자는 다음 순서에 따라 연산을 수행가장 왼쪽 피연산자부터 시작해
nullish 병합 연산자 nullish 병합 연산자(nullish coalescing operator) ??를 사용하면 짧은 문법으로 여러 피연산자 중 그 값이 '확정되어있는'변수를 찾을 수 있다. a ?? b의 평가 결과 a가 null도 아니고 undefi
개발을 하다 보면 여러 동작을 반복해야 하는 경우가 종종 생깁니다.상품 목록에서 상품을 차례대로 출력하거나 숫자를 1부터 10까지 하나씩 증가시키면서 동일한 코드를 반복 실행해야 하는 경우같이 말이죠.반복문을 사용하면 동일한 코드를 여러 번 반복할 수 있다.condit
복수의 if 조건문은 switch문으로 바꿀 수 있다.switch 문을 사용한 비교법은 특정 변수를 다양한 상황에서 비교할 수 있게 해줌.swith 문은 하나 이상의 case문으로 구성 대개 default도 있지만, 이는 필수는 아님변수 x의 값과 첫 번째 case문의
스크립트를 작성하다 보면 유사한 동작을 하는 코드가 여러 곳에서 필요할 때가 많다.사용자가 로그인이나 로그아웃을 했을 때 안내 메시지를 보여주는 동작 같은 경우 말이죠함수 선언 방식을 이용하면 함수를 만들 수 있습니다(함수 선언 방식은 함수 선언문이라고 부르기도 합니다
함수 표현식 자바스크립트는 함수를 특별한 종류의 값으로 취급. 다른 언어에서처럼 "특별한 동작을 하는 구조"로 취급 함수 표현식을 사용하여 함수를 생성 함수를 생성하고 변수에 값을 할당하는 것처럼 함수가 변수에 할당, 함수가 어떤 방식으로 만들어졌는지에 관계없이
함수 표현식보다 단순하고 간결한 문법으로 함수를 만들 수 있다.바로 화살표 함수(arrow function)를 사용하는 것. 화살표 함수라는 이름은 문법의 생김새를 차용해 지어졌습니다.이렇게 코드를 작성하면 인자 arg1...argN를 받는 함수 func이 만들어집니다
자료쳥 챕터에서 배웠듯이 자바스크립트엔 여덟 가지 자료형이 있다. 이 중 일곱 개는 오직 하나의 데이터만 담을 수 있어 '원시형'이라 부릅니다.그런데 객체형은 원시형과 달리 다양한 데이터를 담을 수 있습니다. 키로 구분된 데이터 집합이나 복잡한 개체를 저장할 수 있다.
객체와 원시 타입의 근본적인 차이 중 하나는 객체는 참조에 의해 저장되고 복사된다는 것원시값(문자열,숫자,불린 값)은 '값 그대로' 저장 할당되고 복사된느 반면에 말이죠예시를 실행하면 두 개의 독립된 변수에 각각 문자열 "Hello!"가 저장됩니다.그런데 객체의 동작방
자바스크립트는 눈에 보이지 않는 곳에서 메모리 관리를 수행원시값, 객체, 함수 등 우리가 만드는 모든 것은 메모리를 차지합니다. 그렇다면 더는 쓸모 없어지게 된 것들은 어떻게 처리될까요? 지금부턴 자바스크립트 엔진이 어떻게 필요 없는 것을 찾아내 삭제하는지 알아보겠습니
객체는 사용자, 주문 등과 같이 실제 존재하는 개체를 표현하고자 할 때 생성사용자는 현실에서 장바구니에서 물건 선택하기, 로그인하기, 로그아웃하기 등의 행동을 합니다. 이와 마찬가지로 사용자를 나타내는 객체 user도 특정한 행동을 한다.자바스크립트에선 객체의 프로퍼티
객체 리러털 {...}을 사용하면 객체를 쉽게 만들 수 있다. 그런데 개발을 하다 보면 유사한 객체를 여러 개 만들어야 할 때가 생기곤 합니다. 복수의 사용자, 메뉴 내 다양한 아이템을 객체로 표현하려고 하는 경우가 그렇죠new 연산자와 생성자 함수를 사용하면 유사한
옵셔널 체이닝 ?.을 사용하면 프로퍼티가 없는 중첩 객체를 에러 없이 안전하게 접근이제 막 자바스크립트를 배우기 시작했다면 옵셔널 체이닝이 등장하게 된 배경 상황을 직접 겪어보지 않았을 겁니다. 몇 가지 사례를 재현하면서 왜 옵셔널 체이닝이 등장했는지 알아봅시다.사용자
심볼형 자바스크립트는 객체 프로퍼티 키로 오직 문자형과 심볼형만을 허용. 숫자형, 불린형 모두 불가능하고 오직 문자형과 심볼형만 가능 지금까지는 프로퍼티 키가 문자형인 경우만 살펴보았습니다. 이번 챕터에선 프로퍼티 키로 심볼값을 사용해 보면서, 심볼형 키를 사용할
yarn npm yarn berry yarn vs npm yarn berry는 뭐가 좋은데?
객체는 상태를 나타내는 프로퍼티와 동작을 나타내는 메서드를 하나의 논리적인 단위로 묶은 복합적인 자료구조.동작을 나타내는 메서드는 자신이 속한 객체의 상태, 즉 프로퍼티를 참조하고 변경할 수 있어야 함.메서드가 자신이 속한 객체의 프로퍼티를 참조하려면 먼저 자신이 속한