Javascript

· JavaScript
NaN 이란? Not a Number 의 약자로 연산 과정에서 정상적인 값을 얻지 못할 때 출력되는 값. 주로, 숫자를 계산할 때 숫자가 아닌 값이 들어가서 정상적인 결과를 얻지 못했을 때 출력된다. NaN 인지 체크하는 방법 isNaN() 함수를 사용한다. function check(x) { if(isNaN(x)) { return true; } return false; } NaN 이면 true를 반환하고, 아니면 false를 반환한다. NaN 의 타입은? console.log(typeof(NaN)) // number number...? 분명히 NaN은 Not a Number. 즉, 숫자가 아니라고 했는데 숫자형이다. 왜이럴까? NaN 은 왜 number 타입일까? number 타입에는 일반적인 숫자 외..
· JavaScript
캡슐화 캡슐화란 객체의 프로퍼티와 메서드를 하나로 묶는 것을 의미한다. 캠슐화는 객체의 특정 프로퍼티와 메서드를 감출 목적으로 사용하기도 한다. (정보 은닉) 왜 정보 은닉을 해야할까? 외부에 공개할 필요가 없는 데이터를 공개되지 않도록 감추어, 원하지 않는 접근으로 데이터의 상태가 변경되는 것을 방지해 보호한다. JavaScript 의 정보 은닉 자바스크립트는 public, private, protected 와 같은 접근 제한자를 제공하지 않는다. 따라서, 자바스크립트의 모든 프로퍼티와 메서드는 외부에 공개되어 있다. (public) 캡슐화와 정보 은닉의 방법 1. 자바스크립트 에서는 클로저(Closure)의 개념을 응용해서 캡슐화 및 정보 은닉을 해야한다. function createUser(name..
· JavaScript
Getter 와 Setter Getter 와 Setter 은 자체적으로 값을 갖고 있지 않고, 객체의 프로퍼티를 읽거나 조작할 때 사용하는 접근자 함수이다. Getter 는 메서드 이름 앞에 get 키워드를 사용해 정의하고, Setter 는 메서드 이름 앞에 set 키워드를 사용해 정의한다. const person = { firstName : 'Asher', lastName : 'Park', // getter get fullName() { return `${this.firstName} ${this.lastName}`; } // setter set fullName(name) { [this.firstName, this.lastName] = name.split(' '); } }; console.log(pers..
· JavaScript
화살표 함수 function 키워드 대신 화살표 ( => ) 를 사용하여 간략하게 함수를 정의. 콜백 함수 내부에서 this 가 전역 객체를 가리키는 문제를 해결하기 위한 대안으로 유용하게 사용. 화살표 함수의 정의 const add = (x, y) => x + y; add(2,3); // 6 매개변수가 한 개인 경우 소괄호 생략 가능. const arrow = x => { console.log(x); }; 함수 내부가 하나의 문으로 구성된다면 중괄호 생략 가능. const power = x => x**2 화살표 함수와 일반 함수의 차이 화살표 함수는 함수 자체의 this 바인딩을 가지지 않음. 따라서, 화살표 함수 내부에서 this를 참조하면 상위 스코프의 this를 참조 = lexical this 화..
· JavaScript
자바스크립트에서 변수를 선언할 때 var, let, const 를 사용한다. var - ES5 이전부터 사용되던 변수 선언 방식. - 중복 선언 가능, 재할당 가능. - 소스 코드가 복잡해질 경우, 어떤 부분에서 값이 변경되는지 파악하기 힘들어진다. var greeting = 'hello'; console.log(greeting);// hello var greeting = 'hi'; console.log(greeting);// hi let - ES6 에서 도입된 변수 선언 방식 - 중복 선언 불가, 재할당 가능. let greeting = 'hello'; console.log(greeting);// hello let greeting = 'hi'; console.log(greeting);// 블록범위 변수..
Asher Park
'Javascript' 태그의 글 목록