반응형

분류 전체보기 366

[TS] Index Signature in class

class 안에서 오브젝트를 만들 때 동적 처리를 가능하게 하기 위해 사용합니다. School이라는 class가 있고 그 안에 반, 반에 학생들의 성별에 관한 오브젝트를 만들 때, 새로운 변수를 만들 때마다 계속해서 선언해줘야 하는 불편함이 있습니다. 이러한 상황에서 index signature를 활용하면 간편하게 특정 오브젝트를 만들어 낼 수 있습니다. 일일이 변수 선언을 하지 않고, [index:string] : string을 활용하면 동적으로 변수 선언을 수행할 수 있습니다.

TypeScript 2022.07.12

[TS] readonly 프로퍼티

readonly 프로퍼티를 사용하여 변수를 만들어주면, 값이 초기화 되는 영역을 제외 하고는 값을 변동시킬 수 없습니다. name이라는 변수에 readonly 프로퍼티를 사용해주면, 외부에서 name변수의 값을 바꾸려고 할 때 에러가 뜨는 것을 알 수 있습니다. 이는 private으로 접근 제어자를 설정해도 똑같습니다. 이처럼 클래스 내부의 함수에서 값을 재할당 하려고 해도 에러가 뜨는 것을 알 수 있습니다. readonly 프로퍼티가 사용된 변수는 그 변수를 초기화 하는 과정에서만 수정할 수 있는데, 1) 변수를 선언할 때 2) constructor을 사용할 때 바꿔줄 수 있습니다. 아무런 에러가 뜨지 않는 것을 볼 수 있습니다.

TypeScript 2022.07.12

[TS] Getter & Setter

프로퍼티를 가져오거나, 설정할 때 사용하는 함수를 getter, setter라고 한다. getter와 setter의 차이점은 getter는 말 그대로 값을 얻어오는 함수이기 때문에 return 값이 있어야 하고, setter는 값을 설정해주는 함수이기에, 인자가 있어야 한다. 프로퍼티의 이름과 get & set 함수의 이름에서 충돌이 나지 않기 위해 프로퍼티의 이름을 _name으로 설정하였습니다. get 함수에서는 리턴값으로 this._name을 받아오고, set 함수에서는 this._name에 새로운 값을 할당 받을 수 있도록 해줍니다.

TypeScript 2022.07.07

[TS] 접근제어자(public, private)

typeScript의 클래스 접근 제어자인 public과 private에 대해서 간단히 알아봅시다 public은 class 외부에서도 접근이 가능함을 의미하고, private은 class 내부에서만 접근이 가능합니다. 아무런 접근 제어자를 설정하지 않는다면 public이 default값으로 설정됩니다. class city { public name: string = Busan, // 프로퍼티 public age: number; public constructor (age: number) { // 생성자 this.age = age; } public init() { // 메소드 } } 소스코드에서 볼 수 있듯이 접근 제어자는 클래스 내부 모든 곳에서 설정이 가능합니다. 프로퍼티, 생성자, 메소드 전부 publi..

TypeScript 2022.07.04

[TS] compileOptions (outDir,rootDir)

typeScrupt의 compileOptions 중에서 자주 쓰이는 outDir과 rootDir에 대해서 알아봅시다 !! outDir이란, 컴파일 후 생성되는 js파일들을 모아두는 폴더명을 지정할 수 있습니다. TS는 파일을 컴파일 해주는 작업이 꼭 필요한데, outdir을 설정해두면 outdir로 지정된 특정 폴더의 계층구조를 기준으로 컴파일된 파일이 생성됩니다. 프로젝트를 하나보면 컴파일 된 파일들을 하나로 모아두는 경우가 많은데, outdir을 정해두면 간편하게 ts 파일을 컴파일 할 수 있습니다. rootDir이란, 가장 상위계층에는 있는 root 폴더를 지정할 수 있습니다. 보통 소스폴더를 특정 dir로 지정할 수 있는데, 그 폴더을 rootdir로 지정해주면 그 폴더를 기준으로 계층구조가 형성..

TypeScript 2022.07.04

[TS] Null & Undefined type

Null type null이라는 값으로 할당된 것을 null이라고 합니다. 있긴 하지만, 사용할 준비가 아직 되지 않은 상태 null이라는 타입은 null이라는 값만 가질 수 있습니다.(union으로 다른 타입도 함께 받을 수는 있음) 런타임에서 typeof를 하게 되면, object로 나옵니다. let n: null = null; console.log(n); // null console.log(typeof n); // object Undefined type 값을 할당하지 않은 변수 사용할 준비가 되지 않은 상태 object의 property가 없을 때도 undefined 런타임에서 typeof를 하게 되면, undefined로 나옵니다. let u:undefined = undefined; console..

TypeScript 2022.06.30

[TS] Typescript TS6053: file '.ts' not found error

Typescript 환경을 처음 설정할 때 제목과 같은 오류를 만날 수 있다 !! 1. visual stuido code 기준 터미널에서 typescript 패키지를 설치합니다. npm i typescript 2. 설치하고 난 후에 만들어 두었던 폴더 이름으로 tsc 폴더이름.ts를 했을 때 tsc '폴더이름.ts' 3. 폴더이름.ts 파일을 찾을 수 없다는 에러가 발생하는 것을 볼 수 있습니다. 그 이유는 컴파일하고자 하는 파일을 만들지 않아서 그렇습니다. 4. 그렇기에 vsc에 자신이 컴파일하려고 하는 ts 폴더를 먼저 생성한 후 tsc '폴더이름'.ts 하게 되면 ts파일을 컴파일 할 수 있는 js 파일이 함께 생성됨을 확인할 수 있습니다.

TypeScript 2022.06.29

[R] Functions & Conditional, Iterative Statement(if,for) & Vectorized Operation

Function 함수 (function)는 어떠한 동작을 자동으로 수행하는 루틴의 개념입니다. ex) print(), mean(), max(), etc. 입력 값을 주면, 함수를 거쳐 결과값으로 출력됩니다. R에서는 이미 존재하는 함수뿐만 아니라 사용자가 함수를 만들어서 사용할 수 있습니다. 함수를 만들어서 사용하는 것이 빈번하지는 않지만, 함수를 이해하기 위해서는 그 방식을 알고 있어야 할 필요가 있습니다. FunctionName

R 2022.06.29

[Flutter] Validation

서비스에 회원가입을 할 때 이메일과 비밀번호를 활용하여 가입을 하는 경우가 많은데, 정해진 양식에 따라 회원가입 절차를 진행하기 위한 Validation에 대해서 알아보겠습니다 !! 설치 1. 먼저 yaml 파일에 email_validator 패키지를 추가해줍니다. dependencies: email_validator: '^1.0.6' 2. pub get 버튼으로 패키지를 설치해줍니다. 3. 사용하고자 하는 dart 파일에 설치한 패키지를 import 해줍니다. import 'package:email_validator/email_validator.dart'; 사용 1. validation을 확인하기 위한 form 상태를 저장할 변수를 만들어줍니다. 2. 이메일과 비밀번호를 입력받을 변수를 String으로..

Flutter 2022.06.28

[R] String Concatenation (paste, paste0, gsub)

paste() paste(x1, x2, sep, collapse ...) 여러 값을 한 문자열로 연결합니다. 2개 이상의 백터에서 요소별로 요소를 연결합니다. 나열된 원소 사이에 공백을 두고 결과값을 출력합니다. sep 옵션은 나열된 원소 사이에 들어갈 값을 결정할 수 있습니다. collapse 옵션은 결과값이 두개 이상일 때, 각각의 결과값에 원하는 값을 주어서 이어붙일 때 사용할 수 있습니다. paste0() paste0(x1, x2, sep, collapse ...) paste 함수와 비슷하지만 나열된 원소 사이에 공백을 두지 않는다는 차이점이 있습니다. paste 함수와 paste0함수를 함께 사용하여 원하는 결과값을 출력할 수도 있습니다. gsub() gsub(oldPattern, newPatt..

R 2022.06.28
반응형