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 |