JavaScript 계열의 언어를 Prototype-based programming 으로 부르고 이 카테고리에 속해있습니다. JS는 멀티 패러다임 언어로 명령형, 함수형, 객체지향형인 언어이다. 기본적으로는 함수가 일급시민으로 취급되는 언어이다. 자바스크립트를 이해하려면 객체 이전에 함수를 제대로 이해해야 합니다. 객체란 서로 연관 변수와 함수를 그룹핑한 그룹이라고 이전 수업에서 설명했습니다. 객체 내의 변수를 property(속성) 그리고 함수를 method(메소드)라고 부릅니다. 자바스크립트 생성자의 특징 일반적인 객체지향 언어에서 생성자는 클래스의 소속이다.(e.g. Java) 하지만, 자바스크립트에서 객체를 만드는 주체는 함수이다. 함수에 new키워드를 붙이는 것을 통해서 객체를 만들 수 있다는 ..
객체지향 프로그래밍(Object-Oriented Programming or OOP)은 좀 더 나은 프로그램을 만들기 위한 프로그래밍 패러다임으로 로직을 상태(state)의 행위(behave)로 이루어진 객체로 만드는 것이다. 객체지향 프로그래밍을 번역하면서 너무 철학적으로 접근하는 것은 피해야한다. 객체는 변수와 메소드를 그룹핑한 것이며 이는 다른 곳에서도 활용함으로써 코드의 재활용성을 높여준다. 객체지향 프로그래밍 교육은 크게 두가지로 구분 문법 설계 부품화 초기의 컴퓨터는 단일된 형태의 컴퓨터였다. 이는 키보드가 고장나도 컴퓨터 전체를 바꿔야하고 cpu에 문제가 생겨도 컴퓨터 전체를 바꿔야한다는 것이다. 또한, 고장이나서 제대로 작동하지 않을 경우에 어디서 문제가 발생했는지 한번에 알기 어렵다. 그렇..
//기본 함수 호출방법 function func(){ } func(); //apply()를 사용하여 호출하기 funcion sum(arg1, arg2){ return arg1 + arg2}; alert(sum.apply(null, [1,2]) // output: 3 // 이 예제처럼 단순한 코드일 경우에는 apply()를 사용하는 것은 바람직하지 않다. 그냥 sum(1,2)로 하는 것이 맞다. //하지만 우리가 apply()메소드를 사용하는 이유는 앞의 null을 다른 값을 넣어서 사용할 수 있기 때문이다. 객체에 값이 들어가 있다면 속성(property)라고 하고 함수가 들어가 있다면 메소드(method)라고 합니다. JS에서 함수는 객체입니다. -> 함수에는 JS가 기본적으로 제공하는 내장된 메소드,..
//sum()함수는 전달받는 매개변수가 지정되어있지 않음 function sum() { //변수 i는 loop를 위한 변수 굳이 따로 뺄 필요없이 for문 내부에 let i 라고 써줘도 된다. let i, _sum = 0; for (i = 0; i < arguments.length; i++) { document.write(`${i} ${arguments[i]} `); _sum += arguments[i]; } return _sum; } //sum()에 4개의 인자(1,2,3,4)를 전달 document.write(`result : ${sum(1, 2, 3, 4)}`); 함수에는 arguments라는 변수에 담긴 숨겨진 유사 배열(배열과 비슷하긴한데 배열은 아닌 것)이 있다. 실제로는 arguments 객..
클로저(closure)는 내부함수가 외부함수의 맥락(context)에 접근할 수 있는 것을 가르킨다. 클로저는 자바스크립트를 이용한 고난이도의 테크닉을 구사하는데 필수적인 개념으로 활용된다. function outter() { //내부에 inner이라는 지역변수를 만들고 그 변수에 함수를 할당한 것으로 이해하면 쉽습니다. function inner() { const title = "coding everyBody"; alert(title); } inner(); } outter(); outter()함수는 외부함수이고 inner()함수는 내부함수이다. function outter() { //title은 outter의 지역변수이다. const title = "coding everyBody"; function i..
- Total
- Today
- Yesterday
- 원티드 3월 프론트엔드 챌린지
- float 레이아웃
- 형제 요소 선택자
- 타입스크립트 장점
- text input pattern
- is()
- ~ ^
- 원티드 FE 프리온보딩 챌린지
- nvm경로 오류
- Prittier
- 항해99프론트후기
- D 플래그
- getStaticPaths
- 타입스크립트 DT
- 항해99프론트
- reactAPI
- 원티드 프리온보딩 프론트엔드 챌린지 3일차
- 프리온보딩 프론트엔드 챌린지 3월
- 프리렌더링확인법
- && 셸 명령어
- getServerSideProps
- 항해99추천비추천
- tilde caret
- aspect-ratio
- 부트캠프항해
- nvm 설치순서
- 틸드와 캐럿
- 원티드 프리온보딩 FE 챌린지
- grid flex
- fs모듈 넥스트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |