목록programing-languages/JavaScript (6)
yeonuel-tech

자바스크립트를 공부하다가 변수에 값을 재할당 할 때 내부적으로 발생하는 과정이 자바와 다르다. 당연한 얘기이다 왜냐하면 자바스크립트는 약타입 언어로 동적으로 타입이 결정되고 자바는 강타입 언어로 런타임 시점 이전에 타입이 결정된다(컴파일러의 기능 중 하나는 타입 체크가 있음) 일단 알고가야 하는 사실이 있다. 자바스크립트는 동적 타입 언어이다. 이는 변수를 선언할 때 변수가 가르키는 메모리가 할당 되는 것이 아니라 변수에 값이 할당됐을 때 메모리가 확보된다. (선언은 정보만 제공, 정의하는 시점에 메모리 확보) 왜 선언 시점에 메모리를 할당하지 않는 것일까? 그 이유는 바로 동적 타입 언어이기 때문이다. 변수를 선언한 이후에 변수에는 여러가지 타입의 값을 할당할 수 있다. 이는 변수가 가르키는 값의 타입..

자바스크립트는 동적 타입이다. 컴파일이 존재하지 않기 때문에 자바처럼 클래스를 정의해서 인스턴스를 생성할 순 없다. 즉, 자바스크립트는 런타임 시점에 변수에 메모리 저장 형식이 결정된다. 이는 유연한 구조를 갖지만 타입의 안정성은 약하다 하지만, 자바스크립트에서는 class 라는 키워드를 통해 자바에서처럼 클래스를 정의하고 인스턴스 생성을 흉내낼 수 있다. class Card { #imgNumber; // number 타입, 유효범위 0 ~ 52 #isFront; // boolean 타입, false : 뒷면, true : 앞면 constructor(imgNumber = 0, isFront = false) { // 생성자 함수에 전달된 매개변수 검증 this.#imgNumber = this.isValid..

현재 나는 자바스크립트를 공부하고 있다. 이론적으로도 핵심 원리나 기본기를 탄탄히 다지고 있다. 우리 학원 원장님께서는 한 언어에 익숙해지려면 그 언어에 쭉 쩔어있으면 된다고 했다. 그래서 원장님이 내주신 퀴즈를 약간 변형해서 게임을 만들어봤다. 이 과정에서 나는 자바스크립트로 객체지향적인 코드를 짜려고 많이 노력했다. 객체지향 설계 단계서부터 구현까지 열심히 노력했고 그 결과 재밌는 게임을 만들 수 있었고 자바스크립트에 대해 더 익숙해지고 이해할 수 있는 귀한시간이였다. 밑에는 내가 공부한 과정을 기록한 것이다. 1. 앱 기능 정의 내가 만득 애플리케이션을 한마디로 요역하면 “두 명이서 플레이하는 포커게임”이다. - 1-1. 카드 뒤집기(메인 기능) 현재 플레이어가 뒷면의 카드를 선택하면 카드를 앞면으..
보호되어 있는 글입니다.