개발을 하다보면 변수명이나 함수명 등을 지어야 한다.

짧은 단어면 상관없지만 단어를 합쳐서 지을 경우,  알아보기가 힘든 경우가 있다.

 

예를 들어 newitemlist라는 새로운 아이템이 담긴 리스트라는 의미로 만든 변수명이 있다.

물론 길지않기 때문에 의미를 파악하는데 어렵지 않을 수 있지만 그래도 무슨 의미인지 한 번에 알기 어렵다.

이런 어려움을 해결하기 위한 다양한 표기법들이 있다.

 

1. 스네이크 표기법(snake_case)

단어 사이에 언더 바(_)를 사용한 표기법.

예) new_item_list

 

2. 카멜 표기법(camelCase)

단어의 첫 글자를 대문자로 표기, 단 첫번째 단어의 첫글자는 소문자로 표기하는 표기법.
(언어마다 다르긴 하다)

예) newItemList

 

3. 파스칼 표기법(PascalCase)

단어의 첫 글자를 대문자로 표기하는 표기법.

예) NewItemList

 

'프로그래밍 > 용어' 카테고리의 다른 글

NaN (Not a Number)  (0) 2018.12.25
프레임워크(Framework)란?  (0) 2018.07.15
API란?  (0) 2017.10.19
Deep Copy vs Shallow Copy  (0) 2017.09.05

WRITTEN BY
김치치즈스마일
세계정복!

,

Flutter in Action (플러터 인 액션)

 

몇 년 전, 안드로이드 개발을 하다가 웹 개발로 전향을 하면서 모바일 개발을 오랫동안 손 떼왔다.

그래도 가끔은 앱을 개발하며 출시했을 때의 기억을 가지면서 언젠가는 다시 앱을 개발해보고 싶다는 생각을 했었다.

그러다가 작년에 아는 형을 통해서 플러터(Flutter)에 대한 존재를 듣게 되었다.

구글에서 개발한 모바일 SDK인데 이것을 통해서 안드로이드, iOS 모두 앱을 개발해서 배포할 수 있다고 한다.

기회가 되면 언제인가는 플러터를 한번 봐야겠다는 생각을 가지고 있었다.

 

그러다가 기회가 되어서 Flutter in Action을 읽게 되었다. 

~ in Action 시리즈는 과거에도 Java 8 in Action을 잘 읽었기에 이 책에 대한 의문점 없이 읽기 시작했다.

(예전에 스터디용으로 jQuery 책을 6권을 샀다가 심각한 오류투성이인 책이어서 다시 환불했던 슬픈 기억이 있기에 책을 사기 전 꼼꼼히 읽어보는 편이다... ㅠㅠ 출판사에서 수정된 부분은 나중에 메일로 보내주겠다는 등... 테스터처럼 대하길래 분노가!!!)

 

이 책에서는 우선 플러터가 다트를 사용하고 있기 때문에 다트에 대한 기본적인 문법들을 알아보는데서 시작한다.

기본적인 문법이 끝났으면 소스를 내려받아서 이 소스 예제를 통해서 간단한 앱들을 따라 만들면서 플러터에 대해서 익혀간다.

설명도 설명이지만 얼마나 제대로 된 예제를 따라해보는지가 실질적으로 중요하다고 생각하기에 이렇게 예제 소스들을 따라가면서 간단한 앱들을 만들어 보는 부분들이 좋았다.

 

이처럼 플러터가 어떤 것인가에서 시작해서 다트의 기본적인 문법과 예제 소스를 통한 플러터 익히기, 더 나아가 테스트 방식까지 이 책은 비록 두껍지는 않지만 플러터에 대해서 기본에 있어서 A부터 Z까지를 담고 있어 정말 알차게 익힐 수 있는 책이었다. (비록 심화적인 내용만을 원하는 사람들에게는 다소 아쉬울 수 있지만...)

 

 

Flutter in Action을 들고 한 컷!

 

 

 한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

 

' > 프로그래밍' 카테고리의 다른 글

처음 시작하는 파이썬  (0) 2021.08.22
모던 자바스크립트 핵심 가이드  (0) 2021.06.20
실전 아파치 카프카  (0) 2021.04.11
혼자 공부하는 파이썬  (0) 2021.03.21
팀 개발을 위한 Git-GitHub 시작하기  (0) 2020.07.07

WRITTEN BY
김치치즈스마일
세계정복!

,
팀 개발을 위한 Git, GitHub 시작하기
국내도서
저자 : 정호영,진유림
출판 : 한빛미디어 2020.01.06
상세보기

이전까지는 SVN을 써서 다른 사람들과 협업하는 프로젝트의 소스를 관리해왔었다.

하지만 지금 회사에서는 갑자기 Git을 쓴다고 이걸 사용해서 프로젝트 소스 관리를 해야 한다고 했다.

Git.... 많이는 들어봤지만 정확히 어떤건가라는 이해 없이 일단 사용하기 시작했다.

 

그 결과 수정되면 안 될 소스들까지 수정한 채로 원격 저장소에 올린적도 있고 충돌이 잔뜩 났는데 제대로 수정도 못한 채 올린 경험도 있다.

특히, 충돌 혹은 문제가 생겨서 진행이 안되고 메시지가 한 가득 뜨면 무슨 소리인지도 모르고 무척 당황했었다.

(Google 신의 도움을 받아서 해결하기도 했지만....)

 

물론 이 책을 읽기 전까지도 소스트리의 힘을 빌려서 Git을 쓸 수 있었지만 정확히 용어들이 어떤 것을 의미하는지 잘 모른 채로 계속 사용해왔다.

대충 어렴풋이 commit, pull, push, patch가 어떤 기능을 하고 있었는지 짐작은 하고 있었지만 설명하라고 하면 명확하게 설명할 수는 없었다.

그런 점에서 이 책을 읽는 것은 내게 정말 Git을 제대로 공부해볼 수 있는 기회(?)가 주어진 셈이었다.

그럼 하나씩 이 책의 구조와 장점을 뜯어(?)봐야겠다.

 

 

직접 들고 찍은 책 사진:)

 

먼저, 이 책의 가장 큰 장점은 기본편과 중급편으로 나뉘어져 있어서 Git을 처음 써보는 사람이라도 GUI의 힘을 빌려서 익힐 수 있게 되어있고 이미 Git을 많이 써봐서 좀 더 간지나게(?) 명령어만으로 익혀보겠다는 사람들을 위해 중급편에서는 CLI 환경에서 Git을 익힐 수 있게 나뉘어져 있다.

 

이처럼 기본적인 것 뿐만 아니라 조금 더 한 단계 더 나아갈 수 있도록 다양한 접근으로 개발자들에게 Git을 익힐 수 있게 해준게 이 책의 가장 큰 장점이다. (하지만 난 명령어가 한 번에 안 외워져서 여러번 봐야겠다... ㅠㅠ)

 

또한 기본편을 읽다보면 정말 하나하나씩 설명서를 읽는 것처럼 캡쳐와 쉬운 그림을 통해서 Git의 동작 원리를 잘 이해시켜주고 따라해볼 수 있는데 이 점이 정말 좋았다.

특히 이미 회사에서 남들이 다 Git lab에다가 올려놓은 소스들을 받아서 쓰는 것만 해본 나에게는 비록 완벽한 Code를 올린 것은 아니지만 책에 예제를 따라서 직접 GitHub에 올려보고 Request Pull을 날려보고 승인도 해본 점은 큰 경험이었다.

 

그리고 여기서 그치지 않고 기본편에서 기본적인 것 외에도 흔히 많이 쓰이고 도움이 많이 되는 핵심 꿀팁들을 알려줬는데 그 중에서 cherry-pick이 많이 들어보긴 했지만 어떻게 쓰는지 잘 몰랐는데 이번 기회에 직접 실습해볼 수 있어서 좋았다.

 

이렇게 기본편을 넘어서 중급편으로 CLI 환경에서 Git을 익혀보았는데 아직 하수여서 그런지 명령어를 통한 관리가 익숙치 않고 자꾸 헷갈리고 까먹었다.

중급편은 진짜 옆에 두고 계속 계속 보면서 익혀야 할 것 같다.

 

물론 요즘 Google에서 검색하면 정말 다양한 내용들이 잘 설명되어 있을 수 있겠지만 이 책처럼 하나씩 상세하게 그림과 캡처를 통해서 익히고자 하는 이에 이해를 돕는 것은 못 본 것 같다. 그래서 더 이해가 쉽게 될 수 있었고 이 책을 통해서 매번 공부해 봐야지 봐야지 하면서 안 하고 있던 Git 공부를 할 수 있는 좋은 기회를 가질 수 있어서 너무 좋았고 이 책을 쓰신 저자님들께도 다시 한번 감사의 인사를 드리고 싶다. :)

(거짓이 아니고 진심으로 이 책을 다 읽은 후, 책을 읽겠다는 다음 차례들이 줄 서고 있다...)

 

' > 프로그래밍' 카테고리의 다른 글

처음 시작하는 파이썬  (0) 2021.08.22
모던 자바스크립트 핵심 가이드  (0) 2021.06.20
실전 아파치 카프카  (0) 2021.04.11
혼자 공부하는 파이썬  (0) 2021.03.21
Flutter in Action  (0) 2021.02.21

WRITTEN BY
김치치즈스마일
세계정복!

,

String.format

프로그래밍/Java 2020. 1. 25. 23:20

String 클래스의 format 메서드를 이용하면 지정된 위치에 값을 대입해서 문자열을 만들 수 있다.

 

1.String format문의 형식

%[argument_index$][flags][width]conversion

예) String.format("%2$10s%1$10s", "KOREA", "JAPAN");

※ %와 conversion은 필수이며 나머지 arguent_index나 flags, width는 생략이 가능하다.

 

2. [argument_index]

- 파라미터의 인덱스

- 숫자와 $문자로 구성

- 1부터 시작

- '<'을 사용하여 직전의 파라미터와 같은 것임을 지정

 

3. [flag]

- '-'를 사용하면 출력하는 문자열이 왼쪽으로 정렬

- '-'를 빼면 출력하는 문자열이 오른쪽으로 정렬

 

4. [width]

- 원하는 길이를 지정

 

5. conversion

- %d : 10 진수

항목 내용
%10d 숫자만큼 문자열 좌측에 공백을 채워 숫자열 길이를 만듬
%-10d 숫자만큼 문자열 우측에 공백을 채워 숫자열 길이를 만듬
%010d 숫자만큼 문자열 좌측에 0을 채워 숫자열 길이를 만듬
%,d 1000 단위로 콤마(,) 처리를 함

  예) System.out.println(String.format("%10d%10d", 12345, 67890));

- %x or %X : 16진수

  예) System.out.println(String.format("%10x%10x", 2047, 2047));

- %o : 8진수

  예) System.out.println(String.format("%10o%10o", 2047, 2047));

- %f : 실수

항목 내용
%10f 숫자만큼 문자열 좌측에 공백을 채워 숫자열과 소숫점 이하의 자리를 포함하여 길이를 만듬
%-10f 숫자만큼 문자열 우측에 공백을 채워 숫자열과 소숫점 이하의 자리를 포함하여 길이를 만듬
%.2f (.) 우측에 해당하는 숫자만큼 소숫점 이하 자리를 반올림하여 길이를 만듬
%010.2f 숫자(10) 만큼 문자열 좌측에 0을 채우고 점(.) 우측에 해당하는 숫자만큼 소숫점 이하 자리를 반올림하여 길이를 만듬
%,.2f 1000 단위로 콤마(,) 처리를 하고, 점(.) 우측에 해당하는 숫자만큼 소숫점 이하 자리를 반올림하여 길이를 만듬

  예) System.out.println(String.format("%10.2f%10.2f", 100000.999f, 200000.999f));

- %s or %S : 문자열

항목 내용
%10s
%-10s 숫자만큼 문자열 우측에 공백을 채워 문자열 길이를 만듬
%10.2s (.) 우측에 숫자만큼 스트링을 자른 후, 점 좌측 숫자만큼 문자열 좌측에 공백을 채워 문자열 길이를 만듬
%-10.2s 점(.) 우측에 숫자만큼 스트링을 자른 후, 점 좌측 숫자만큼 문자열 우측에 공백을 채워 문자열 길이를 만듬

  예) System.out.println(String.format("%2$10s%1$10s", "KOREA", "JAPAN"));

- %c or %C : 문자

  예) System.out.println(String.format("%c", 'A'));

- %t or %T : 시간

항목 내용
%td Date를 입력 받으며 오늘 일자를 제공
%tm

Date를 입력 받으며 이번 달을 제공 

예) 12

%th

long형 시간 데이터를 입력 받으며 이번 달을 제공

예) 12월

%ty

Date를 입력 받으며 이번 약년을 제공

예) 20

%tD

Date를 입력 받으며 오늘 날짜(월/일/약년)를 제공

예) 01/25/20

%tY

Date를 입력 받으며 오늘 년을 제공

예) 2020

%tF

Date를 입력 받으며 오늘 날짜(월/일/년)를 제공

예) 2020-01-25

%fT long형 시간 데이터를 입력 받으며 현재시간(시:분:초)를 제공
%tH

long형 시간 데이터를 입력 받으며 시간(24시간 단위)를 제공

예) 23

%tl

long형 시간 데이터를 입력 받으며 시간(12시간 단위)을 제공

예) 11

%tM long형 시간 데이터를 입력 받으며 분을 제공
%tS long형 시간 데이터를 입력 받으며 초를 제공
%tL

long형 시간 데이터를 입력 받으며 밀리세건을 제공

예) 871

  예) System.out.println(String.format("날짜,시간 서식: %tY년 %<tm월 %<td일 %<tH시 %<tM분 %<tS초", new Date()));

 

 

참고 및 출처]

- 까딱이의 춤과 IT

- Blog Goooood.net

- 라이언 서버

- 자바킹 - IT 정복

- Java Document

 

'프로그래밍 > Java' 카테고리의 다른 글

enum 2  (3) 2018.01.28
enum 1  (0) 2018.01.02
쓰레드(Thread) 3  (0) 2017.11.20
쓰레드(Thread) 2  (0) 2017.11.04
쓰레드(Thread) 1  (0) 2017.11.03

WRITTEN BY
김치치즈스마일
세계정복!

,

문제) 입력 받은 n개까지의 소수의 개수를 구하시오. (1은 소수 X)

응용) 소수의 합을 구하시오, 소수를 전부 출력하시오

 

소수의 개수를 구하는 방식은 간단하며 여러개의 방법이 있다. 

처음에는 안에 있는 for문을 for(int j = 2; j <= i; j++)로 사용하여 if(i % j == 0)일 경우, Count를 해주어서 구하였었다.

하지만 이와 같은 방법은 개수를 구할 수는 있었지만 모든 값들을 다 계산하여야 하기에 효율성이 떨어진다고 생각하여 더욱 효율적인 방법이 있을지 고민을 해보았다.

그 결과 아래와 같이 수정하였다. (Math.sqrt()는 루트 값을 구하는 함수)

(학생 때 수학 좀 열심히 공부할걸....)

public int solution(int n) {
      int answer = 0;
      
      for(int i = 2; i <= n; i++) {
          boolean isPrime = true;
          for(int j = 2; j <= Math.sqrt(i); j++) {
              if(i % j == 0) {
                  isPrime = false;
                  break;
              }
          }
          
          if(isPrime) {
              answer++;
          }
      }
      
      return answer;
 }

'프로그래밍 > 알고리즘' 카테고리의 다른 글

보간 탐색(Interpolation Search)이란?  (0) 2017.10.19
이진 탐색(Binary Search)이란?  (0) 2017.10.18
순차 탐색(Sequential Search)이란?  (0) 2017.10.18
탐색(Search)이란?  (0) 2017.10.18
선택 정렬(Selection Sort)  (0) 2017.10.08

WRITTEN BY
김치치즈스마일
세계정복!

,

자바스크립트에서는 함수도 객체다!!!

즉, 함수의 기본 기능인 코드 실행뿐만 아니라 함수 자체가 일반 객체처럼 프로퍼티들을 가질 수 있다.

 

function add(x, y) {
	return x + y;
}

add.result = add(1, 2);
add.status = 'OK';

console.log(add.result); // 5
console.log(add.status); // OK

 

정리하자면 자바스크립트의 함수란

- 리터럴에 의해 생성.

- 변수나 배열의 요소, 객체의 프로퍼티 등에 할당 가능.

var foo = 100;
var bar = function() { return 100;};
console.log(bar());     // 100

var obj = {};
obj.baz = function() { return 200;}
console.log(obj.baz()); // 200

- 함수의 인자로 전달 가능.

var foo = function(func) {
	func();
};

foo(function() {
	console.log('Function can be used as the argument');
};

- 함수의 리턴값으로 리턴 가능.

var foo = function() {
	return function() {
    	console.log('this function is the return value');
    }
};

var bar = foo();
bar();

- 동적으로 프로퍼티를 생성 및 할당 가능.

'프로그래밍 > Java script' 카테고리의 다른 글

함수 생성 방법  (0) 2019.05.29
자바스크립트 데이터 타입2  (0) 2018.08.04
자바스크립트 데이터 타입1  (0) 2018.08.04
자바스크립트(JavaScript)란?  (0) 2018.07.21

WRITTEN BY
김치치즈스마일
세계정복!

,

자바스크립트에서는 크게 세가지의 함수 선언 방식이 있다.

 

1. 함수 리터럴 방식

- function keyword로 시작.

- function keyword, 함수명(필수가 아닌 선택사항), 매개변수 리스트, 함수 몸체로 구성.

 

function add(x, y) { // 함수명인 add는 선택사항.
	return x + y;
}

 

1-1. 함수 선언문 방식

- 함수 리터럴 방식과 형태는 같으나 함수명이 반드시 정의되어 있어야 함.

 

function add(x, y) { // 함수명인 add는 필수 정의.
	return x + y;
}

 

2. 함수 표현식

- 함수 리터럴 방식으로 함수를 만들고, 이를 변수에 할당하여 함수를 생성하는 방식.

- 함수명은 선택 사항이며, 보통 사용하지 않음.

- 함수 표현식에 사용된 함수명은 외부 코드에서 접근이 불가능.

 

var add = function(x, y) { // add는 함수 변수이지 함수명이 아님.
	return x + y;
};

var plus = add;
console.log(add(1, 2));  // 3
console.log(plus(2, 3)); // 5
var add = function sum(x, y) { // add는 함수 변수이지 함수명이 아님.
	return x + y;
};

console.log(add(1, 2));  // 3
console.log(sum(1, 2)); // Uncaught ReferenceError : sum is not defined 

 

3. Function() 생성자 함수를 통한 방식

- 자바스크립트의 함수도 Function()이라는 기본 내장 생성자 함수로 부터 생성된 객체.

- 잘 쓰지 않음.

 

var add = new Function('x', 'y', 'return x + y');
console.log(add(3, 4) // 7

 

 

[출처] 인사이드 자바스크립트

'프로그래밍 > Java script' 카테고리의 다른 글

함수도 객체다!  (0) 2019.05.29
자바스크립트 데이터 타입2  (0) 2018.08.04
자바스크립트 데이터 타입1  (0) 2018.08.04
자바스크립트(JavaScript)란?  (0) 2018.07.21

WRITTEN BY
김치치즈스마일
세계정복!

,

NaN (Not a Number)란?

NaN이란 수치 연산을 해서 정상적인 값을 얻지 못할 때 출력되는 값.

예를 들어 1 - 'a'와 같이 숫자 1에서 'a'라는 문자열을 빼려고 할 경우 정상적인 결과를 얻을 수 없을 경우 NaN이 출력 됨.


WRITTEN BY
김치치즈스마일
세계정복!

,

앞선 내용에서 자바스크립트의 기본 데이터 타입들을 정리했었는데 이번에는 참조 타입에 대해서 정리해보자.

 

참초 타입(객체 타입)이란?

- 자바스크립트에서 숫자, 문자열, 불린값, undefined, null 같은 기본 타입을 제외한 모든 값은 객체.

  따라서 배열, 함수, 정규표현식 등도 모두 자바스크립트에서는 객체로 표현.

- 자바스크립트에서의 객체는 단순히 이름(key):값(value) 형태의 프로퍼트들을 저장하는 컨테이너.

- 기본 타입의 경우 하나의 값만을 가지는데 비해, 참조 타입인 객체는 여러 개의 프로퍼티들을 포함할 수 있음.

- 기본 타입의 값을 포함하거나, 다른 객체를 가리킬 수도 있음.

 

객체 생성 방법

- Object() 생성자 함수 이용

// Object()를 이용해서 foo 빈 객체 생성
var foo = new Object();

// foo 객체 프로퍼티 생성
foo.name = 'foo';
foo.age = 30;
foo.gender = 'male';

console.log(typeof foo); // (출력값) object 
console.log(foo); // (출력값) { name: 'foo', age: 30, gender: 'male' }

- 객체 리터럴 방식 이용

// 객체 리터럴 방식으로 foo 객체 생성 
var foo = {
     name : 'foo',
     age : 30,
     gender : 'male'
};
console.log(typeof foo); // (출력값) object 
console.log(foo); // (출력값) { name: 'foo', age: 30, gender: 'male' }

- 생성자 함수 이용

 

객체의 프로퍼티에 접근하는 방법

- 대괄호([]) 표기법

var foo = {
     name : 'foo',
     nick-name : 'foo2',
     major : 'computer science'
};

console.log(foo['name']); // (출력값) foo
console.log(foo[name]); // (출력값) undefined
console.log(foo['nick-name']) // (출력값) foo2

대괄호 표기법 사용시 대괄호 안에 프로퍼티 이름을 문자열 형태로 사용해야 함.

만약 프로퍼티 이름을 문자열 형태로 쓰지 않을 경우 undefined로 출력되는 것을 볼 수 있음.

또한 접근하는 프로퍼티가 표현식이나 예약어일 경우 대괄호 표기법만을 이용해서 접근해야 함.

예를 들어서 위에서 볼 수 있는 nick-name이라는 프로퍼티의 경우 마침표 표기법을 쓸 경우 NaN의 값이 출력됨.

 

- 마침표(.) 표기법

var foo = {
     name : 'foo',
     nick-name : 'foo2',
     major : 'computer science'
};

console.log(foo.name); // (출력값) foo
console.log(foo.nick-name) // (출력값) NaN

 

객체 프로퍼티 삭제

자바스크림트에서는 delete 연산자를 이용해 객체의 프로퍼티를 삭제할 수 있음.

delete 연산자는 객체의 프로퍼티를 삭제할 뿐, 객체 자체를 삭제하지는 못함.

var foo = {
     name : 'foo',
     major : 'computer science'
};

console.log(foo.name); // (출력값) foo
delete foo.name;
console.log(foo.name) // (출력값) undefined
delete foo;
console.log(foo.major); // (출력값) 'computer science

 

[출처] 인사이드 자바스크립트

 

· 자브스크립트 데이터 타입1

 

 

'프로그래밍 > Java script' 카테고리의 다른 글

함수도 객체다!  (0) 2019.05.29
함수 생성 방법  (0) 2019.05.29
자바스크립트 데이터 타입1  (0) 2018.08.04
자바스크립트(JavaScript)란?  (0) 2018.07.21

WRITTEN BY
김치치즈스마일
세계정복!

,

자바스크립트는 크게 기본 타입과 참조 타입으로 데이터 타입이 나뉜다.

또한 기본 타입은 숫자(Number), 문자열(String), 불린 값(Boolean), undefined, null로 나뉜다.

이번에는 자바스크립트이 기본 타입들에 관하여 알아보자.

 

 

※ 자바스크립트의 데이터 타입

 

기본 타입이란?

- 자바스크립트의 기본 타입에는 숫자(Number), 문자열(String), 불린값(Boolean), undefined, null이 있음.

- 그 자체가 하나의 값을 나타냄

 

숫자(Number)

- 다른 언어들의 경우 대게 정수, 실수에 따라서 int, long, float, double 등 다양한 숫자 타입이 존재하지만 자바스크립트에서는 단 하나의 숫자형만 존재

- 자바스크립트에서는 모든 숫자를 64비트 부동 소수점 형태로 저장하기 때문

- 단, 자바스크립트에서는 모든 숫자를 실수로 인식하기 때문에 소수부분까지 출력하게 됨


var num = 5 / 2;
console.log(num); // 2.5 출력
console.log(Math.floor(num)); // 2 출력

 

문자열

- 문자열은 작은 따옴표(')나 큰 따옴표(")로 생성

- C나 Java와 같이 char라는 문자 하나만을 나타내는 데이터 타입이 별도로 존재하지 않음

- 한번 정의된 문자열은 변하지 않음


var str = 'test';
console.log(str[0], str[1], str[2], str[3]); // test 출력
str[0] = 'T';
console.log(str); // test 출력

 

불린값

- true, false 값.

 

undefined

- 값이 비어있음을 나타냄

- 자바스크립트 환경 내에서 기본적으로 값이 할당되지 않은 변수

- 변수 자체의 값 또한 undefined

- 즉, 자바스크립트에서의 undefined는 타입이자 값을 나타냄

 

null

- 값이 비어있음을 나타냄

- 개발자가 명시적으로 값이 비어있음을 나타내느데 사용

- null 타입의 typeof 결과는 null이 아니라 object

 

 

[출처] 인사이드 자바스크립트


'프로그래밍 > Java script' 카테고리의 다른 글

함수도 객체다!  (0) 2019.05.29
함수 생성 방법  (0) 2019.05.29
자바스크립트 데이터 타입2  (0) 2018.08.04
자바스크립트(JavaScript)란?  (0) 2018.07.21

WRITTEN BY
김치치즈스마일
세계정복!

,