File: destructuringParameterProperties2.errors.txt

package info (click to toggle)
node-typescript 4.9.5%2Bds1-2
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 533,908 kB
  • sloc: javascript: 2,018,330; makefile: 7; sh: 1
file content (56 lines) | stat: -rw-r--r-- 3,024 bytes parent folder | download | duplicates (5)
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
tests/cases/conformance/es6/destructuring/destructuringParameterProperties2.ts(2,36): error TS1187: A parameter property may not be declared using a binding pattern.
tests/cases/conformance/es6/destructuring/destructuringParameterProperties2.ts(3,59): error TS2339: Property 'b' does not exist on type 'C1'.
tests/cases/conformance/es6/destructuring/destructuringParameterProperties2.ts(3,83): error TS2339: Property 'c' does not exist on type 'C1'.
tests/cases/conformance/es6/destructuring/destructuringParameterProperties2.ts(4,18): error TS2339: Property 'a' does not exist on type 'C1'.
tests/cases/conformance/es6/destructuring/destructuringParameterProperties2.ts(9,21): error TS2339: Property 'a' does not exist on type 'C1'.
tests/cases/conformance/es6/destructuring/destructuringParameterProperties2.ts(13,21): error TS2339: Property 'b' does not exist on type 'C1'.
tests/cases/conformance/es6/destructuring/destructuringParameterProperties2.ts(17,21): error TS2339: Property 'c' does not exist on type 'C1'.
tests/cases/conformance/es6/destructuring/destructuringParameterProperties2.ts(21,42): error TS2322: Type 'string' is not assignable to type 'boolean'.


==== tests/cases/conformance/es6/destructuring/destructuringParameterProperties2.ts (8 errors) ====
    class C1 {
        constructor(private k: number, private [a, b, c]: [number, string, boolean]) {
                                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! error TS1187: A parameter property may not be declared using a binding pattern.
            if ((b === undefined && c === undefined) || (this.b === undefined && this.c === undefined)) {
                                                              ~
!!! error TS2339: Property 'b' does not exist on type 'C1'.
                                                                                      ~
!!! error TS2339: Property 'c' does not exist on type 'C1'.
                this.a = a || k;
                     ~
!!! error TS2339: Property 'a' does not exist on type 'C1'.
            }
        }
    
        public getA() {
            return this.a
                        ~
!!! error TS2339: Property 'a' does not exist on type 'C1'.
        }
    
        public getB() {
            return this.b
                        ~
!!! error TS2339: Property 'b' does not exist on type 'C1'.
        }
    
        public getC() {
            return this.c;
                        ~
!!! error TS2339: Property 'c' does not exist on type 'C1'.
        }
    }
    
    var x = new C1(undefined, [0, undefined, ""]);
                                             ~~
!!! error TS2322: Type 'string' is not assignable to type 'boolean'.
    var [x_a, x_b, x_c] = [x.getA(), x.getB(), x.getC()];
    
    var y = new C1(10, [0, "", true]);
    var [y_a, y_b, y_c] = [y.getA(), y.getB(), y.getC()];
    
    var z = new C1(10, [undefined, "", null]);
    var [z_a, z_b, z_c] = [z.getA(), z.getB(), z.getC()];