본문 바로가기

공부/TIL

0515

float는 글을 밀어내기 위해 만듬

변수란

타입이란? 할당할떄 생김

var x= 1; 넘버

x = 'str' 스트링

동적타이핑

연산자:피연산자들을 연산해서 값을만듬

임묵적타입변환이 일어나더라

표현식

표현식인문/표현식이아닌문

제어문(조건문/반복문) 안쓸수록 좋음(흐름)

비순수함수(외부상태를 변경시키는함수),전역변수,제어문(for문 기피)은 안쓸 수록 좋음

=함수형 프로그래밍

원시타입:이뮤터블pbv, 참조타입:뮤터블pbr

부작용,부수효과 (side effect)

함수에 파라미터로 객체를 주면 참조값을줘서

변경시키면 함수 내부에서 변경하면 외부에

영향을 줌

객체를 만드는 방법

리터럴,생성자함수

객체란: 프로퍼티와, 메서드를 모아놓은복합적자료구조

객체리터럴은 할당될때 생성

생성자함수는 보통함수처럼 정의하나 암묵적으로 첫글자를 대문자로 작성한다

-new 함수호출하면

빈객체를 만들어 this에 할당

this를 반환

생성자함수의 내부에서 this는

생성할 객체(인스턴스)

메소드가 중복된다 (메소드를 상속시켜야한다)

** 상위 객체 역할을 하는 객체 **

person 객체가 만들어지면, person의 프로퍼티를 하나 갖고 있는데, prototype을 가리키는

객체를 만드는데 별다른 이름이 없다

(person.prototype으로 가리킨다)

constructor을 갖고 있다.

ㅡㅡㅡㅡㅡㅡㅡ엄격모드 :eslint를 쓰자

this를 안쓰면 뭐가 아쉽지?

ㅡㅡㅡㅡㅡㅡㅡ전역객체

브라우저를 킨다 = 전역객체를 만든다

전역객체 자체가 가지고 있는 프로퍼티와 메소드가 있다.(전역변수도 만든다)

클라이언트에선 window === global

서버에선 window가 없음

window객체에는 web api가 들어있음(document, local, )

특징) window프로퍼티는 window 생략가능

eval을 쓰면 문자열을 실행함

자신만의 스코프를 만들고 최적화가 깨짐(부수적)

보안에 문제가 있음 - > 문자열로 코드실행

isFinite

유한값 이냐?

isNaN

난이냐?

parseFloat

부동소수점

해석해라 실수로

'문자열'

parseInt

정수형

encodeURI / decodeURI

rest api 서버에 접근할때 함수호출하듯이 접근하는 방법

fragment (페이지내 이동할 때 사용)

ㅡㅡㅡㅡㅡㅡㅡㅡthis

전역

메서드를 '호출'

생성자함수가 생성'할'

this값은 함수가 어떻게 호출되었느냐에 따라 값이 변한다

this는 windw 생길때 생기고, window로 초기화 되어있다라고 생각할 수 있다

중첩함수 어떻게 호출하느냐에 따라 다르다 (중첩이라고 무조건 전역객체인것은 아님)

메서드안에, 중첩함수도 일반호출이 되면 전역객체

`foo() {` `console.log("foo's this: ", this); // {value: 100, foo: ƒ}` `console.log("foo's this.value: ", this.value); // 100` `// 메소드 내에서 정의한 중첩 함수` `function bar() {` `console.log("bar's this: ", this); // window` `console.log("bar's this.value: ", this.value); // 1` `}`

오늘의 하이라이트

바인드함수(모든함수가 부를 수 있으니 function.prototype에 있어야한다)

function.prototype.apply,call, (함수를 호출하는게 주역할)

function.prototype.bind(디스를 바인드를 갈아껴주지만, 호출은 하지 않는다)

function Person(name) { this.name = name; }

엄마 - 이모

Person.prototype.doSomething = function (callback) { // ① callback(); //일반호출되서 전역 };

엄마 이모(재산추가)

function foo() { console.log(this.name); // ② }

const person = new Person('Lee');

엄마 이모

person.doSomething(foo); // ''

들어가서

메서드로 호출했을때, this는 함수를 호출한 객체다

반응형

'공부 > TIL' 카테고리의 다른 글

number, math, string 객체  (0) 2019.05.17
0516  (0) 2019.05.16
객체 생성, 일급객체, 프로토타입  (0) 2019.05.13
객체지향 프로그래밍,객체,프로토타입,프로토타입 체인  (0) 2019.05.09
스코프 , 객체  (0) 2019.05.08