본문 바로가기
> 코딩애플 (부분공개)/쉽게 이해하는 JavaScript 객체지향 & ES6 신문법

강의 OT (수강대상, 강의 특징정리)

by 자몽주스 2024. 7. 27.
728x90

OT입니다. 

자바스크립트 기초문법 배워서 웹UI 만드는건 쉽게 하실 수 있을텐데,

이제 그 다음이 문제입니다. 

Angular, React 이런걸 하기 위해선, 서버를 만들기 위해선 어려운 문법 개념들이 필요합니다. 

그래서 다시는 문법책 펴지 않아도 될 정도로 만들어드리는 중급과정을 준비했습니다. 

 


일단 필요한 사전지식은

var function if for forEach eventListener

[Array] {Object} 자료만들고 수정하는 법

이렇게 배우신 후 수강하시면 수월합니다. 기초강의 듣고오시면 됩니다. 

다른 언어 하다오신 분들은 그냥 들으셔도 무방합니다. 


여러분의 JavaScript 공부 고민 1. 어려운 용어 사용

 

책이나 구글 검색결과보면 너무나도 어려운 표현들이 기다리고 있습니다. 

인스턴스, 1급객체, 생성자, 뭘 리턴하니뭐니 

뭔소린지 이해도 안되는 말로 설명하고 있으니 공부해도 기억에 안남는 것입니다. 

그래서 강의는 7살도 이해가능한 표현을 사용합니다. 

쓸데없이 어려운 프로그래밍 용어는 설명할 때 사용하지 않습니다. 

 

 

당연히 주요 프로그래밍 용어 정리는 해드립니다.  

"이 생성자의 인스턴스를 뽑아서 객체의 프로토타입 상속기능을 구현하겠다 코딩허접들아"

이런 외계어로 강의 진행을 안한다는 소리입니다. 

설명과정은 7살 수준 어휘력으로도 이해가능하도록 설명하겠습니다. 

제 7살 조카도 제 설명 듣고 class, constructor, prototype 문법 이해했습니다.



여러분의 JavaScript 공부 고민 2. 알아보기 힘든 예제

 

역시 문법공부는 문법을 어떻게 쓰는지 알아야하기 때문에

예제를 찾아보기 마련인데 예제 조차 이해가 되지 않습니다. 

책이든 구글이든 마찬가지입니다. 

왜냐면 많이 배운 개발자일 수록 모듈화니 객체화니 뭐니 예제 어렵게 만드는 트레이닝을 많이 했기 때문입니다.

 

 

그래서 현 강의에선 foo bar myFunction 이런 의미없고 알아보기 힘든 변수명은 사용하지 않습니다. 

그리고 중요한 변수명 함수명은 한글로 많이 표기할 예정입니다. 

20년 전에 코딩배웠던 아조씨들이 변수 한글로 쓴다고 뭐라할 수 있는데 요즘 대부분의 언어들은 다국어 변수명 지원합니다.   

 

그리고 예제들이 실제 코딩생활에서 찾아볼 수 있는 예제들로 준비했습니다. 

내 코드에서 this가 제대로 나오지 않는 이유는?

왜 다음 예제에서 setTimeout 함수가 제대로 동작하지 않을까?

실제 맥락에 맞게 문법예제들을 학습하실 수 있어서 실제 코드 창작에도 도움이 확실히 될 것입니다. 

코딩테스트 이런거 좋아하는 분들을 위해 그런 류의 연습문제들도 가끔 출몰합니다.

이 사이트 거지같음

예제들이 너무 어렵다.

 


여러분의 JavaScript 공부 고민 3. 배워봤자 활용을 못하는 문법들

 

아마 공감되실 겁니다. 문법 배워봤자 뭐해요 실제로 코드짜야될 땐 전혀 쓰질 못하는데 말이에요.

이건 여러분 문제가 아니라 가르치는 사람 문제입니다. 

가르치는 사람이 문법의 용도와 목적을 설명해주어야합니다. 

 

class 문법 언제 쓰는지 아십니까.

그냥 간지를 위해 쓰는거라고요? ㄴㄴ 이것도 정확한 용도가 있습니다.

class문법이 존재하는 목적과 이유를 아셔야 내가 정확한 부분에서 정확히 class 문법으로 작성하게 되고

나중에 코드 작성시에도 class 문법을 활용할 수 있죠. 

 

그래서 ES6와 객체지향 문법 사용법만 알려드리는게 아니라 

신문법을 쓰는 이유와 용도를 많이 설명해드리려고 노력하고 있습니다. 

그냥 대충 "class 문법은 이렇게 씁니다 ㅅㄱ" 시연만 해주면 저도 편하고 좋겠지만 

하지만 이 강의의 목적은 여러분 혼자서도 ES6문법으로 코딩 잘하는 것이기 때문에

문법설명 전에 이 문법이 쓰이는 이유와 용도를 많이 알려드리고 있습니다.

728x90