일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- docker
- property
- C#
- webpack
- Python
- dotenv
- condition
- type
- C++
- generic
- nginx
- VUE
- AI
- vue.js
- TypeScript
- scss
- leetcode
- vuetify
- BOJ
- security
- var
- bash
- npm
- git
- JavaScript
- loop
- 앙상블
- machine learning
- 보안
- Clone
- Today
- Total
목록type (6)
ice rabbit programming
타입스크립트란 자바스크립트가 가진 다른 C계열 언어들과의 차이는 크게 두 가지라고 개인적으로 생각한다. 첫 번째로는 비동기, 두 번째는 타입이다. 이 중에 동적 타입은, 자바스크립트만의 특징은 아니다. 파이썬과 같이 런타임에 정해지는 스크립트 언어도 존재한다. 어쨌거나 그런 이유로, 컴파일 언어와는 다르게 정적 타입으로 사전에 체크할 수가 없었고, 이를 해결하고 실행 전 단계에서 에러를 최대한 거르고자 여러가지 방법이 나왔다. 그 중 하나가 바로 타입스크립트이다. 타입스크립트는 자바스크립트의 상위호환(SuperSet)으로, 단순하게 생각하면 타입을 가진 자바스크립트의 느낌이다. 거기에 class, interface 등을 추가해서 자바나 C#과 같은 OOP 프로그래밍을 할 수 있다. 인터프리터 언어인 자바..
지난 글에서 설명한 String, Number, Function 타입에 이어서 데이터 타입에 대해 다루려 하는데, 내용이 많을 것 같지는 않다. 네 번째 타입은 Array 타입이다. 배열은 여느 언어에 있는 것과 같이 [같은 타입, 같은 크기]의 변수들을 묶어서 보관하는 타입이다. var arr = [] // ok var fruit = ["apple", "banana"]; // ok var fruit2 = ["apple", "banana", 1]; // 타입이 다르므로 error console.log(fruit); // 배열 자체 console.log(fruit[0]); // 배열의 첫 번째 index 값 위 fruit 배열과 같이 사용하는 것이 일반적이며, fruit2에서는 같은 타입이라는 규칙에 위배..
JavaScript는 원래 브라우저 등에 이용되는 스크립트 언어였으나, 요즘에는 IoT, 서버(Node.js) 등 광범위하게 쓰이고 있고, 사용 언어 순위에도 꾸준히 등장하고 있다. 요즘 개발자라면 웹은 거의 필수적으로 다루고, 관련 없는 개발을 하더라도 발은 한 번씩 담가보기 때문에 자바스크립트를 다들 조금씩은 해보게 된다. (자바와는 다르다) 필자는 학부 시절(이라 해봐야 2년 전) vue.js와 node.js를 이용한 웹 페이지를 제작할 때 좀 다루어 보았다. 다만 그 때는 여느 학생이 그렇듯이, 구현을 하는 것에 큰 목적을 두었어서 틈틈이 언어에 대해서 알아보기는 했으나 차근차근 공부하지는 못했었다. 그러다 이번 기회에 JavaScript 강의를 접하게 되어, 필자가 듣고 정리하며 이 글을 보는 ..
지난 글에 이어서 오늘은 Casting과 Boxing/Unboxing에 대해 정리하려 한다. Casting - 묵시적, 명시적 다른 언어를 다루어보신 분들이라면 Casting, 즉 형변환의 개념은 익숙할 것이다. 형변환에는 묵시적(암시적) 형변환과 명시적 형변환이 있다. 말 그대로 명시적은 프로그래머가 코드 상에 적어주는 것이고, 묵시적은 그렇지 않다. int number = 5; double pi = 3.14; number = pi; // 묵시적 형변환, 데이터 손실 발생!! 가장 전형적인 예제는 double을 int에 넣는 예제일 것이다. 위 코드에서는 double 변수를 int에 묵시적으로 넣고 있고, 이 때 데이터 손실이 발생한다. C++에서는 묵시적 형변환 시에 데이터의 손실이 있든 없든, 허용..
지난 자료형 글에서 기본적인 자료형에 대해서 언급하였다. 이번 글에서는 거기서 나아가서 좀 더 자세히 알아보자. C#의 모든 것은 객체 C#은 기본적으로 모든 것이 객체이다. int, string, 심지어 숫자까지 모두. 모든 것은 System.Object를 상속 받는다. 그러므로 모든 객체는 ToString(), GetType()등의 메서드를 기본적으로 가지고 있다. 10.ToString(); 이런 문장이 가능하다는 뜻이다. Value vs Reference 다른 언어를 해보신 분들은, Call by Value와 Call by Reference 등에 대해서 많이 보았을 것이다. 특히 포인터가 있는 C/C++에서는 포인터나 참조는 Reference, 값은 Value인 것이 중요하다. C#에서는 struc..
아무래도 학부 4년간 C++을 주로 사용했다보니, 차이가 있으면 C++과 비교하게 된다. 지난 글의 말미에서 말했던 것처럼, C++과 가장 큰 차이는 포인터의 유무라고 생각한다. 그리고 또 하나, 쉽게 발견할수 있는 차이는 바로 'var'이다. var 일단, int나 double 등의 자료형은 C계열 언어들과 동일하게 사용한다. 하지만 다음과 같은 문장을 쉽게 찾아볼 수 있다. var myCar = new Car(); // 이러한 표기법은 권장되는 표기법인지, Car myCar = new Car(); // C# 코드를 관리해주는 Resharper와 같은 툴은 이 줄처럼 쓰면 위 문장으로 자동으로 수정한다. var. variable(변수)의 줄임말이다. JavaScript를 해보신 분들은 var가 익숙할 ..