JavaScript
-
[javaScript] Duck typing 이란 ?JavaScript 2022. 7. 4. 17:03
계기: 자바스크립트 클래스의 implements 를 이해하기 위해서 우선, duck typing 이 뭔지 알아야 했기 때문에 우선, duck typing 을 공부함. Duck typing 은 객체의 속성이나 메서드를 기준으로 객체의 정체를 선정하는 방법이다. 이름에 그 힌트가 있다. 뒤뚱뒤뚱 걷고, 꽥꽥거리는 무언가는 오리이다. 라는 명제를 보면, 오리의 속성들로 오리라는 것의 정체를 정한다. 이처럼 duck typing 은 객체의 매서드나 속성을 바탕으로 객체의 정체를 정하는 방법이다. 예를들어 무엇이든 drive 시킬 수 있는 매직 완드가 있다고 하자. 스포츠카에 매직 완드를 휘두르면 스포츠카는 drive 하고, 골프채에 매직 완드를 휘두르면 골프채는 drive 한다. 하지만, 종이컵에 매직 완드를 ..
-
-
[javaScript] 클래스 프로토타입, 정적 매서드JavaScript 2022. 5. 26. 19:38
[javaScript] 클래스 프로토타입, 정적 매서드 안녕하세요. gaki 입니다. 오늘은 자바스크립트에서 클래스 프로토타입 함수와 정적 매서드에 대해서 알아보겠습니다. 프로토타입은 자바스크립트에서 사용되는 독특한 기능으로 클래스 인스턴스를 만들때마다 클래스 내의 매서드를 일일이 정의하게 되면 메모리 낭비가 되기 때문에 클래스 인스턴스는 프로토타입에 접근해 함수의 매서드를 사용할 수 있습니다. 정적 매서드는 클래스 프로토타입 매서드와는 다르게, 클래스 인스턴스에서 사용 접근 할 수 없는 매서드입니다. 아래에서 더 자세히 설명하겠습니다. 1. 프로토타입 매서드 선언 방법 2. 스태틱 매서드 선언 방법 1. 프로토타입 매서드 선언 방법 자바스크립트에서 인스턴스를 생성하는 방법은 두 가지가 있습니다. 하나는..
-
[javaScript]자바스크립트 옵셔널 체이닝 연산자 설명 및 예제JavaScript 2022. 5. 10. 00:21
안녕하세요. gaki 입니다. 오늘은 ES11 에서 추가된 옵셔널 체이닝 연산자에 대해서 알아보겠습니다 . 옵셔널 체이닝 연산자는 좌항의 피연산자가 null 혹은 undefined 인 경우 undefined 를 반환하고, 그렇지 않으면 우항의 프로퍼티 참조를 이어갑니다. 1. 옵셔널 체이닝 연산자 설명 2. 옵셔널 체이닝 연산자 예제 1. 자바스크립트 옵셔널 체이닝 연산자 설명 옵셔널 체이닝 연산자는 ?. 입니다. 자바스크립트에서 객체의 프로퍼티를 가리킬 때, 객체가 undefined 거나 null 이면 타입에러가 발생합니다. 에러가 발생하면 프로그램이 강제 종료되며 이는 예기치 않은 버그를 만들어 낼 수 있습니다. 즉, null 이나 undefined 일수도 있는 객체의 프로퍼티에 접근하기 위한 방법은..
-
[JavaScript] 자바스크립트 find 함수 사용법JavaScript 2022. 5. 10. 00:13
안녕하세요. gaki 입니다. 오늘은 배열에서 특정 값을 찾아주는 find 함수에 대해서 이야기 해보려 합니다. find 함수는 자바스크립트 Array 객체의 프로토타입 매서드입니다. 1. find 함수 설명 2. find 함수 예제 1. 자바스크립트 find 함수 설명 find 함수는 Array 객체의 프로토타입 매서드로 존재하는 함수입니다. 즉 따로 임포트 하지않고서, 배열에 바로 사용할 수 있습니다. Array.prototype.find() 시간복잡도: O(N) 함수는 아래와 같이 구성되어 있습니다. arr.find(callback[, thisArg]) find 매서드는 인자로 callback 함수를 받습니다. callback 함수가 참을 반환할때 까지 배열의 각 요소에 대해 callback 함수를..
-
자바스크립트 함수 선언문과 함수 표현식의 차이점은 무엇인가?JavaScript 2022. 4. 19. 03:26
자바스크립트 함수 선언문과 함수 표현식의 차이점 선언문(statement) vs 표현식(expression) 먼저 표현식이란 어떤 변수에 할당 할 수 있는 식이다. let a = 10; // 숫자 리터럴 let fn = function (x,y) { return x + y }; let obj = {x : 1};위와같이 변수에 할당 할 수 있는 모든것은 표현식이라고 볼 수 있다. 반면 선언문은 표현식과는 반대로 변수에 할당 할 수 없다. if (x > 10) { count += 1; };대표적인 예로 if 문은 변수에 할당 할 수 없으므로 선언문이라고 할 수 있다. 함수 선언문과 함수 표현식 //함수 선언문 function add(x,y) { return x + y; } // 함수 표현식 // case1)..
-
[번역]리액트를 언제 써야되는가?JavaScript 2022. 4. 13. 16:41
원글: Patrickgak 왜 리액트를 쓰는가??? 그냥 자바스크립트로도 새로고침 없이 싱글페이지 어플리케이션 만들 수 있음. 심지어 자바스크립트는 리액트보다 자유도도 높아. 돔을 직접 가져와서 조작할 수도 있음. 그럼 리액트는 언제 써야되나? 일단 리액트는 컴포넌트를 랜더링, 리렌더링 해주는 코드를 사용자가 일일이 작성 할 필요가 없어. 그래서 코드 피로도가 낮아. 그리고 hooks 라는 매우 편한 기능이 있어서 바닐라 자바스크립트보다 훨씬 더 쉽게 상태를 관리할 수 있음. 또한 정해진 랜더링 순서가 존재하고 오류도 잘 띄워주기 때문에 디버깅하기도 수월해. 나는 리액트의 가장 큰 이점은 코드를 짤막하고 심플하게 짤 수 있다는것같아. 심플하다는건 정말 놀랍거든. 다른사람이 이해하기 쉽고, 친해지기 쉽고 ..