javascript
-
[JS] 메소드와 함수간단정리 2020. 7. 11. 23:21
[스포] * 메소드와 함수의 차이는 정의의 차이다. * 화살표 함수, 일반 함수 모두 객체 안에 정의 되면 메소드가 맞다. * 화살표 함수는 고유한 this가 없어, this는 객체 외부 함수로 지정된다. [정의] * function (함수)는 그 자체로도 기능을 한다. - 함수는 매소드를 포함한 더 포괄적인 개념이다. - fucntion(); 으로 호출 할 수 있다. * method (메소드)는 객체 안에 존재 하며, 객체안에서 작동 한다. - 메소드는 클래스 안에 있는 data를 조작할 수 있다. - object.method(); 로 호출 할 수 있다. function func() { return "Call me function!"; } var obj = { method() { return "Call..
-
[JS] 화살표 함수 (Arrow Function)간단정리 2020. 7. 10. 09:18
약 2년전, Javascript를 처음 접할 때 Arrow Function이 그냥 함수를 정의할 때. 꼭 써야하는 문법이라고 생각했다. 난 시작 부터 ECMAScript2015(ES6) 가 있었기 때문이다. (왜 2015가 6가 되는진 모르겠다.) JS에 대해서 조금 알게 되고, 실제 제품을 만들 때 '굳이 화살표 함수를 써야하나?' 생각이 들었다. 도대체 이게 왜 나왔고, 무엇이 편리한지 알아보자. [스포] (1) function에 비해 구문이 짧고 (2) this, arguments, super 또는 new.target을 바인딩 하지 않는다. 1. function에 비해 구문이 짧다. // ES5 var foo = function () { console.log("foo") }; // foo // ES..
-
[JS] 암묵적(Implicit), 명시적(Explicit) 형변환간단정리 2020. 7. 9. 09:18
대부분의 언어에서 형변환이 존재한다. 직접 한땀한땀 변경하는 방법과 자동으로 변경하는 방법 정도로 생가하면 좋을 것 같다. 분명 한 것은 한땀한땀 변경하는 것을 모두가 추천할 것이다. 암묵적 타입 변환(Implicit Coercion) * 자바스크립트의 강점이기도 하지만, 가장 피해야할 기능이기도 하다. 자바스크립트는 느슨한 언어이기에 var는 어떤 타입이든 자동적으로 변경 된다. 1 + "Ryuk" // 1Ryuk : string 1 + "2" + 3 // 121 : string 1 + 2 + "3" // 33 : string 2 * "2" // 4 : number 1 + true // 2 : number 1 + false // 1 : number 예제가 더 보고 싶다면 (링크) * 위와 같은 기괴한 ..
-
[JS] 원시타입 || 기본 자료형 (Primitive Type)간단정리 2020. 7. 8. 10:11
Javascript에서는 원시 타입(Primitive Type)과 참조 타입(Reference Type) 두 가지 자료형을 제공한다. 자바스크립트는 느슨한 타입 언어 || 동적 언어이다. 이 말은 변수의 타입을 미리 지정할 필요가 없다는 의미이다. 타입은 프로그램이 처리되는 과정에서 자동으로 파악되고, 같은 변수에 여러 타입의 값을 넣을 수 있다는 뜻이다. * 그렇기 때문에 프로그램 규모가 커질 수록, Typescript와 같은 대체제를 사용한다. (타입에 따른 실수를 방지 하기 위한 방법이자 도구이다.) var test; // undefined test = null; // null test = 1206; // Number test = "Ryuk"; // String test = true; // Bool..
-
[JS] 유형 비교 `==`와 엄격한 비교 `===`의 차이점간단정리 2020. 7. 7. 23:23
결론 : == 유형 비교는 값만 비교, === 엄격한 비교는 타입도 비교 (1) 0은 false, 그 외 모든 것은 true이다. // 유형 비교는 값만 비교한다. // 0은 false 이기에 true가 된다. // 엄격한 비교는 타입도 비교한다. // number인 0과 false인 boolean은 타입이 다르다. 0 == false // true 0 === false // false(2) number와 string 또한, (1)과 같은 결과가 출력 된다. 1206 == "1206" // true 1206 === "1206" // false(3) null undefined 비교 null == undefined // true null === undefined // false(4) NaN 이 친구는 역시 ..
-
[JS] undefined / null / NaN 차이점간단정리 2020. 7. 7. 23:04
undefined : 선언은 되었으나 값이 할당 되지 않은 상태 (초기화 안하면 무조건 undefined 상태) var temp; Boolean(undefined) 에서는 false Number(undefined) 에서는 NaN String(undefined) 에서는 "undefined" null : 아무런 값도 나타내지 않는 특수한 값 (초기화 해주어야 null 상태가 존재 할 수 있음) var temp = null; C++ 에서는 포인터형 변수가 아무 것도 가르키지 않을 때 nullptr이 된다. (null은 0이 래핑 되어있다.) null의 타입은 null이다. 하지만, typeof로 출력 되는 값은 object 이다. 이는, 코드가 업데이트 되지 않은채 많은 시간이 흘렀기 때문이라고 한다. (링크..