JavaScript-Operators
JavaScript function
JavaScript immutability
자바스크립트는 오랫동안 호환성 이슈 없이 발전해왔다. 기존의 기능을 변경하지 않으면서 새로운 기능이 추가되었고, 덕분에 기존에 작성한 코드는 절대 망가지지 않는다는 장점이 있었다. >> 하지만 자바스크립트 창시자들이 했던 실수나 불완전한 결정이 언어 안에 영원히 박제된다는 단점도 생겼다. > ECMAScript5(ES5)가 등장하면서 새로운 기능이 추가되고...
변수(variable) > * 변수는 데이터를 저장할 때 쓰이는 '이름이 붙은 저장소' >> let 이라는 키워드를 사용해 변수를 선언한다. > 한 줄에 여러 변수를 선언하는 것도 가능하다 but, 가독성을 위해 한줄에는 하나의 변수를 선언하는 것이 좋다. >> >* 변수에는 어떤 값이든 할당할 수 있고, 원하는 만큼 값을 변경할 수 있다...
🧐 즉시실행함수란? >* 정의되자마자 즉시 실행되는 함수를 말한다. >* 다음과 같이 소괄호로 함수를 감싸서 실행하는 문법을 사용한다 1. 즉시실행함수에 익명함수를 사용해야 하는가? >>* 선언과 동시에 호출되고 반환되어 재사용할 수 없기 때문에 이름을 지어주는 것은 의미가 없음. 2. 즉시실행함수를 왜 사용하는가? >1. `필요없는 전역 변수의 생성...
모듈이란? > * 코드의 일부를 독립된 형태로 분리한 것 모듈은 하나의 클래스로 구성되거나 특정 목적을 가진 복수의 함수(라이브러리)로 구성된다. export, import 지시자를 사용해 모듈을 내보내거나 불러올 수 있다. > export된 print()는 외부로 보
Design Pattern? >> 개발을 하면서 발생하는 다양한 이슈들을 해결하는데 도움을 주는 일종의 `증명된 기술`이라고 할 수 있다. 패턴이 정확한 해결책을 제공해주는 것은 아니다. `일종의 도구`일 뿐이고, 이 패턴들을 어떻게 활용해서 어떤 식으로 개발할 것인지
Singletons >* 한 클래스에서 인스턴스를 한개만 생성하도록 제한하는 패턴 인스턴스가 하나도 없는 경우에만 인스턴스를 만드는 메소드를 포함하여 클래스를 생성하는 방법으로 적용할 수 있다. 이미 인스턴스가 존재한다면, 함수는 그 인스턴스의 reference를 리턴
함수와 연산자에 전달되는 값은 대부분 적절한 자료형으로 자동 변환된다. 이 외에, 전달받은 값을 의도를 갖고 원하는 타입으로 변환(명시적 변환)해 주는 경우도 형 변환이라고 할 수 있다. 문자형으로 변환 > 문자형으로의 형 변환은 문자형의 값이 필요할 때 일어난다. 예를 들어, `alert 메서드는 매개변수로 문자형을 받기 때문에, alert(value)...
비교하려는 값의 자료형이 다르면 자바스크립트는 이 값들을 숫자형으로 바꾼다. 동시에 일어나지 않을 법한 두 상황이 동시에 일어나는 경우가 있다. >> * 두 값(a, b)를 비교하면 `true`가 반환된다. 값을 논리 평가한 후 비교하면 하나는 `true, 하나는 false`가 반환된다. >>> 동등 비교 연산자 `==는 피연산자를 숫자형으로 바꾸지만...
null과 undefined를 다른 값들과 비교할 땐 예상치 못한 일들이 발생한다. 1. 일치연산자 `===`을 사용하여 null과 undefined 비교 > 두 값간의 자료형이 다르기 때문에 일치 비교 시 false가 반환된다. 2. 동등연산자 == 을 사용하여 null과 undefined 비교 > 3. 산술연산자나 기타 비교연산자 , =를 사용하여 ...
'?' > 조건에 따라 다른 값을 변수에 할당해줘야 할 때 사용. >> * `물음표 연산자 = 조건부 연산자 = '?'` 를 사용하면 위의 예시를 더 짧고 간결하게 변형할 수 있다. 자바스크립트에서 피연산자를 3개나 받는 연산자는 조건부 연산자가 `유일` 문법 > >* 평가 대상인 `condition이 truthy라면 value1이, 그렇지 않으면 va...
|| (OR) > 인수 중 하나라도 `true이면 true를 반환하고, 그렇지 않으면 false`를 반환한다. >* 피 연산자가 모두 `false인 경우를 제외하고 연산 결과는 항상 true` 피 연산자가 불린형이 아니라면, 평가를 위해 불린형으로 변환된다. 첫 번째 truthy를 찾는 OR > OR 연산자와 피연산자가 여러 개인 경우: 이때, `OR...
nullish 병합 연산자 `??를 사용하면 짧은 문법으로 여러 피연산자 중 그 값이 확정되어있는` 변수를 찾을 수 있다. `x = a ?? b`의 평과 결과는 다음과 같다. >> * a가 `null도 아니고 undefined`도 아니면 a >>* 그 외의 경우에는 b ?? 과 || 차이 > nullish 병합 연산자는 OR연산자와 상당히 유사해보인다. ...