본문 바로가기

학습 내용/JavaScript6

pipe operator(파이프 연산자) / TC39 - stage 2 명세서 바로가기 ES pipe operator (2021) A PipeBody must not be an unparenthesized AssignmentExpression, such as YieldExpression, ArrowFunction, or ConditionalExpression—unless it is a ShortCircuitExpression. This is to prevent confusing expressions from being valid, such as: x |> yield % |> % tc39.es 파이프 연산자의 필요성 현재 자바스크립트에서는 여러 함수들을 통한 연산을 연속적으로 수행할 때, 가독성을 포기하든 편리함을 포기하든 어느 한쪽은 포기해야 한다. 인자로 전달 받은 값에 .. 2023. 1. 21.
자바스크립트에서의 this this는 자기 참조 변수(self-referencing variable)로서, 자신이 속한 객체 또는 자신이 생성할 인스턴스를 가리킨다. this를 통해 자신이 속한 객체 또는 자신이 생성할 인스턴스의 프로퍼티/메서드를 참조할 수 있다. 이처럼 this는 주로 객체의 프로퍼티/메서드에 접근하기 위해 사용한다. 바꿔 말하면, 일반 함수 내부에서의 this를 사용하는 것은 크게 의미가 없다. 이 때문에 strict mode가 적용된 경우, 일반 함수로서 호출된 함수 내의 this에는 undefined가 바인딩 된다. (strict mode가 아닐 경우 원래는 전역 객체를 가리킨다.) 자바스크립트에서의 this는 동일한 함수 내에 있더라도 해당 함수가 어떻게 호출되는지에 따라 결정된다. 1. 일반 함수로서 .. 2021. 10. 17.
타입 변환과 단축 평가 타입 변환과 단축 평가 타입 변환 타입 변환이라고 하는 개념은 기존 원시값(primitive)을 직접 변경하는 것은 아님. 원시값은 변경 불가능한 값(immutable value)이므로 변경할 수 없음. 타입 변환에는 암묵적 타입 변환(implicit coercion)과 명시적 타입 변환(explicit coercion)이 있음. 암묵적 타입 변환(=타입 강제 변환) 개발자의 의도와는 상관없이, 표현식을 평가하는 도중에 자바스크립트 엔진에 의해 암묵적으로 타입이 자동 변환되는 것 명시적 타입 변환(=타입 캐스팅) 개발자가 의도적으로 값의 타입을 변환하는 것 암묵적 타입 변환 핵심 키워드 : 🍉문맥🍉 자바스크립트 엔진은 표현식을 평가할 때 개발자의 의도와는 상관없이 코드의 문맥을 고려해 암묵적으로 데이터 .. 2021. 5. 18.
객체 리터럴 객체 리터럴 객체(Object) 객체(object)란, 0개 이상의 프로퍼티(property) 및 메서드(method)로 구성된 집합임. 프로퍼티 => 키(key)와 값(value)으로 구성됨. 프로퍼티는 객체의 상태를 나타내는 값(data)임. 보통은 데이터 구조와 연관된 속성을 나타냄. 프로퍼티 키로는 문자열과 심벌 값만 사용할 수 있는 반면, 프로퍼티 값으로는 모든 값이 올 수 있음. 메서드 프로퍼티 값이 함수일 경우, 일반 함수와 구분하기 위해 메서드라고 부름. 메서드는 프로퍼티(=상태 데이터)를 참조하고 조작할 수 있는 동작임. 객체는 이처럼 상태와 동작을 하나의 단위로 구조화할 수 있어 유용함. 객체들의 집합으로 프로그래밍하려는 프로그래밍 패러다임을 객체 지향 프로그래밍이라고 함. 객체 리터럴.. 2021. 5. 15.
스코프(Scope)란? 오늘! 첫 면접을 보고 왔는데요, 스코프가 무엇인지 설명해달라고 하시는 질문에 그만 횡설수설 해버렸답니다 하하.. 사실 너무 기본적인 개념이라... 제가 제대로 알고 있지 못한다는 사실조차 모르고... 따로 대비할 생각을 못했던 것 같습니다... 근데 이게 이렇게 되네요 ^ _ ^ ㅋ 설명을 할라고 하니 어디서부터 어떻게 설명해야 할지...??? 첫 질문이어서 더 긴장해서 그랬던 것 같기도 하고요... 아무튼 각설하고! 이번 기회에 자바스크립트에서의 스코프라는 개념에 대해서 확실히 짚고 넘어가보겠습니다! 이 글을 보시는 분들은.. 아무쪼록 추후 면접에서 스코프에 대한 개념 설명을 깔끔하게 잘 하시길 바라며~ ✨ 정리 시작하도록 하겠습니다~ 스코프(scope)란? - 스코프는 변수 등의 식별자가 유효한 범.. 2021. 5. 14.
Set과 Map Set과 Map Set Set 객체는 서로 중복되지 않는 값(value)들의 집합(set)으로, 배열과 유사하게 생긴 객체지만 배열과 달리 ①동일한 값을 중복하여 포함할 수 없으며 ②요소 순서에 의미가 없고, ③index가 존재하지 않기 때문에 index로 요소에 접근할 수 없음. 대괄호가 아닌 중괄호로 감싼 배열처럼 생겼음! Set은 수학적 집합을 구현하기 위한 자료구조임. => 교집합, 합집합, 차집합, 여집합 등 구현 가능 집합은 가장 근간이 되는 자료구조 중 하나로, 프로그래밍에서 집합은 ①중복되지 않고 ②정렬되지 않은 항목들의 그룹을 의미함. 집합은 O(1) 상수 시간 연산이 가능한데, 이는 집합의 구현이 해시 테이블의 구현을 기초로 하기 때문임. 집합은 어떤 항목이 유일한지 확인할 때 강력한 .. 2021. 5. 11.