
언젠간 공부해야지.. 라고만 생각했던 언어
웹 공부를 시작한 김에 javascript도 확실하게 공부하려고 합니다.
MDN에선 이렇게 정의해요.
자바스크립트는 복잡한 무언가(주기적으로 내용이 갱신되는 기능이나 능동적인 지도, 변화하는 2D/3D 그래픽, 동영상 등)를 웹페이지에 적용할 수 있게 하는 스크립트 혹은 프로그래밍 언어입입니다.
하나의 사이트를 구현하려면 많은 요소가 필요한데,
HTML과 CSS만을 이용해서 완성하려면 불가능한 부분이 분명 있습니다.
(일단 얘네 둘이 프로그래밍 언어가 아니잖아요!)
프로그래밍 언어인 javascript는 훌륭한 해결책이 될 거에요.
Nomad Coder에서 카카오톡 클론코딩을 공부했을 때 상당히 괜찮아서 니코쌤의 강의를 선택했습니다.
게다가 Vanilla JS 강의는 무료더라구요!! 알게된 점을 여기에 정리하는 방식으로 하겠습니다.
기초적인 문법은 C와 유사한 부분이 너무 많아서 간단간단하게 넘어갈게요!
var, let, const를 사용해서 변수를 할당할 수 있습니다.
var은 변수 재선언이 가능하지만, let과 const는 불가능하죠.
let은 재할당이 가능하지만, const는 그렇지 않다는 차이점이 있습니다.
var varType = 10;
let letType = 20;
const constType = 30;
var varType = 15; // OK
let letType = 25; // error
letType = 25; // OK
constType = 35; // error
기본적으로 숫자, 정수, 문자열, boolean, null, undefined, 객체를 할당할 수 있습니다.
let intType = 47;
let floatType = 1.76;
let stringType = "c01d_br0th3r";
let booleanType = true;
배열도 다른 언어와 유사합니다. []로 선언하고 인덱스를 가지고 있죠.
const daysOfWeek = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];
let monday = daysOfWeek[1];
함수도 비슷해요. 선언 시 function을 붙여주면 끝입니다.
function calcPlus(num1, num2) {
return num1 + num2;
}
말로만 듣던 객체, Objects란 개념이 등장했습니다.
javascript에선 {}를 사용해 객체를 선언해요. 이 안에다가 key: value 형태로 작성하면 완성입니다.
key는 변수에요. 대신, let과 같은 선언이 필요가 없죠.
value엔 숫자, 문자열, 참/거짓, 심지어 배열, 함수, 객체까지 아무거나 들어갈 수 있습니다.
const myInfo = {
name: "Leechanhyeong",
age: 23,
gender: "male",
hobby: ["study web", "watching sports", "playing guitar"],
sayHello: function() {
console.log("Hello Everybody! I am " + this.name);
}
};
myInfo 객체에 접근하려면 .을 사용하면 돼요.
console.log(myInfo.gender); // male
myInfo.sayHello(); // Hello EveryBody! I am Leechanhyeong
여기서 알 수 있는 것!!
출력을 위해 쓰는 console.log와 document.write 모두 .을 사용하죠?
둘 다 객체라는 것입니다!!
console.dir로 console 객체를 찍어봐요.

결국 모두 객체였습니다.
console.log()는 console 객체 안에 있는 log() 함수를 부르는 명령이었어요.
프로그래밍 언어를 전혀 몰랐다면 위 개념들만 이해하는데 며칠이 걸렸을 것 같아요.
1학년 때 열심히 C를 배워서 다행입니다. 😭
내일은 javascript가 어떻게 HTML 문서에 접근하는지 공부하려고 해요.
바빠질 것 같습니다!! 힘낼게요.