1# Console (控制台) 2 3本模块提供了一个简单的调试控制台,类似于浏览器提供的JavaScript控制台机制。 4 5> **说明:** 6> 7> 本模块首批接口从API version 3开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 8 9## console.debug 10 11debug(message: string, ...arguments: any[]): void 12 13以格式化输出方式打印调试信息。 14 15从API version 9开始,该接口支持在ArkTS卡片中使用。 16 17**系统能力:** SystemCapability.ArkUI.ArkUI.Full 18 19**参数:** 20 21| 参数名 | 类型 | 必填 | 说明 | 22| ------- | ------ | ---- | ----------- | 23| message | string | 是 | 表示要打印的文本信息。 | 24| arguments | any[] | 否 | 表示其余要打印的信息或message的替换值。 | 25 26**示例:** 27 28```js 29const number = 5; 30console.debug('count: %d', number); // 格式化输出替换message中的文本。 31// count: 5 32console.debug('count:', number); // 打印message以及其余信息 33// count: 5 34console.debug('count:'); // 仅打印message 35// count: 36``` 37 38## console.log 39 40log(message: string, ...arguments: any[]): void 41 42以格式化输出方式打印日志信息。 43 44从API version 9开始,该接口支持在ArkTS卡片中使用。 45 46**系统能力:** SystemCapability.ArkUI.ArkUI.Full 47 48**参数:** 49 50| 参数名 | 类型 | 必填 | 说明 | 51| ------- | ------ | ---- | ----------- | 52| message | string | 是 | 表示要打印的文本信息。 | 53| arguments | any[] | 否 |表示其余要打印的信息或message的替换值。 | 54 55**示例:** 56 57```js 58const number = 5; 59console.log('count: %d', number); // 格式化输出替换message中的文本。 60// count: 5 61console.log('count:', number); // 打印message以及其余信息 62// count: 5 63console.log('count:'); // 仅打印message 64// count: 65``` 66 67## console.info 68 69info(message: string, ...arguments: any[]): void 70 71以格式化输出方式打印日志信息。(console.log()的别名)。 72 73从API version 9开始,该接口支持在ArkTS卡片中使用。 74 75**系统能力:** SystemCapability.ArkUI.ArkUI.Full 76 77**参数:** 78 79| 参数名 | 类型 | 必填 | 说明 | 80| ------- | ------ | ---- | ----------- | 81| message | string | 是 | 表示要打印的文本信息。 | 82| arguments | any[] | 否 | 表示其余要打印的信息或message的替换值。 | 83 84**示例:** 85 86```js 87const number = 5; 88console.info('count: %d', number); // 格式化输出替换message中的文本。 89// count: 5 90console.info('count:', number); // 打印message以及其余信息 91// count: 5 92console.info('count:'); // 仅打印message 93// count: 94``` 95 96## console.warn 97 98warn(message: string, ...arguments: any[]): void 99 100以格式化输出方式打印警告信息。 101 102从API version 9开始,该接口支持在ArkTS卡片中使用。 103 104**系统能力:** SystemCapability.ArkUI.ArkUI.Full 105 106**参数:** 107 108| 参数名 | 类型 | 必填 | 说明 | 109| ------- | ------ | ---- | ----------- | 110| message | string | 是 | 表示要打印的警告信息。 | 111| arguments | any[] | 否 | 表示其余要打印的信息或message的替换值。 | 112 113**示例:** 114 115```js 116const str = "name should be string"; 117console.warn('warn: %d', str); // 格式化输出替换message中的文本。 118// warn: name should be string 119console.warn('warn:', str); // 打印message以及其余信息 120// warn: name should be string 121console.warn('warn:'); // 仅打印message 122// warn: 123``` 124 125## console.error 126 127error(message: string, ...arguments: any[]): void 128 129以格式化输出方式打印错误信息。 130 131从API version 9开始,该接口支持在ArkTS卡片中使用。 132 133**系统能力:** SystemCapability.ArkUI.ArkUI.Full 134 135**参数:** 136 137| 参数名 | 类型 | 必填 | 说明 | 138| ------- | ------ | ---- | ----------- | 139| message | string | 是 | 表示要打印的错误信息。 | 140| arguments | any[] | 否 | 表示其余要打印的信息或message的替换值。 | 141 142 143**示例:** 144 145```js 146const str = "value is not defined"; 147console.error('error: %d', str); // 格式化输出替换message中的文本。 148// error: value is not defined 149console.error('error:', str); // 打印message以及其余信息 150// error: value is not defined 151console.error('error:'); // 仅打印message 152// error: 153``` 154 155## console.assert<sup>10+</sup> 156 157assert(value?: Object, ...arguments: Object[]): void 158 159断言打印。 160 161**系统能力:** SystemCapability.Utils.Lang 162 163**参数:** 164 165| 参数名 | 类型 | 必填 | 说明 | 166| ------- | ------ | ---- | ----------- | 167| value | Object | 否 | 语句结果值。若value为假(false)或者省略,则输出以"Assertion failed"开头。如果 value 为真值(true),则无打印。| 168| arguments | Object | 否 | value为假(false)的后续错误消息打印。省略则不打印。| 169 170**示例:** 171 172```js 173console.assert(true, 'does nothing'); // 表达式结果值为true, 无打印。 174console.assert(2 % 1 == 0, 'does nothing'); // 表达式结果值为true, 无打印。 175 176console.assert(false, 'console %s work', 'didn\'t'); 177// Assertion failed: console didn't work 178 179console.assert(); 180// Assertion failed 181``` 182 183## console.count<sup>10+</sup> 184 185count(label?: string): void 186 187维护一个内部计数器,调用时,打印此标签名以及对应的计数次数。 188 189**系统能力:** SystemCapability.Utils.Lang 190 191**参数:** 192 193| 参数名 | 类型 | 必填 | 说明 | 194| ------- | ------ | ---- | ----------- | 195| label | string | 否 | 计数器标签名。默认值为'default'。| 196 197 198**示例:** 199 200```js 201console.count() 202// default: 1 203console.count('default') 204// default: 2 205console.count('abc') 206// abc: 1 207console.count('xyz') 208// xyz: 1 209console.count('abc') 210// abc: 2 211console.count() 212// default: 3 213``` 214 215## console.countReset<sup>10+</sup> 216 217countReset(label?: string): void 218 219清除指定标签名的计数。 220 221**系统能力:** SystemCapability.Utils.Lang 222 223**参数:** 224 225| 参数名 | 类型 | 必填 | 说明 | 226| ------- | ------ | ---- | ----------- | 227| label | string | 否 | 计数器标签名。默认值为'default'。| 228 229**示例:** 230 231```js 232console.count('abc'); 233// abc: 1 234console.countReset('abc'); 235console.count('abc'); 236// abc: 1 237``` 238 239## console.dir<sup>10+</sup> 240 241dir(dir?: Object): void 242 243打印对象内容。 244 245**系统能力:** SystemCapability.Utils.Lang 246 247**参数:** 248 249| 参数名 | 类型 | 必填 | 说明 | 250| ------- | ------ | ---- | ----------- | 251| dir | Object | 否 | 需要打印内容的对象。省略则无任何打印。| 252 253 254**示例:** 255 256```js 257class bar { 258 baz: boolean = true; 259} 260let b: bar = {baz: true} 261class foo{ 262 bar: bar = b; 263} 264let c: foo = {bar: b} 265class c1{ 266 foo: foo = c; 267} 268let a: c1 = {foo: c} 269console.dir(a); 270// Object: {"foo":{"bar":{"baz":true}}} 271 272console.dir(); // 无打印 273``` 274 275 276## console.dirxml<sup>10+</sup> 277 278dirxml(...arguments: Object[]): void 279 280此方法通过内部调用console.log()实现。此方法不会产生任何 XML 格式。使用方法与console.log()一致。 281 282**系统能力:** SystemCapability.Utils.Lang 283 284**参数:** 285 286| 参数名 | 类型 | 必填 | 说明 | 287| ------- | ------ | ---- | ----------- | 288| arguments | Object | 是 | 要打印的信息。 | 289 290**示例:** 291 292```js 293const number = 5; 294console.dirxml('count: %d', number); 295// count: 5 296console.dirxml('count:', number); 297// count: 5 298console.dirxml('count:'); 299// count: 300``` 301 302## console.group<sup>10+</sup> 303 304group(...arguments: Object[]): void 305 306默认将后续行的缩进增加两个空格。 307如果提供需要打印的信息,则首先打印信息,没有额外的缩进。 308 309**系统能力:** SystemCapability.Utils.Lang 310 311**参数:** 312 313| 参数名 | 类型 | 必填 | 说明 | 314| ------- | ------ | ---- | ----------- | 315| arguments | Object | 否 | 要打印的信息。 | 316 317**示例:** 318 319```js 320console.log("outter"); 321// outter 322console.group(); 323console.log("level 1"); 324// level 1 325console.group("in level1"); 326// in level1 327console.log("level 2"); 328// level 2 329``` 330 331 332## console.groupCollapsed<sup>10+</sup> 333 334groupCollapsed(...arguments: Object[]): void 335 336使用与功能同console.group()一致。 337 338**系统能力:** SystemCapability.Utils.Lang 339 340**参数:** 341 342| 参数名 | 类型 | 必填 | 说明 | 343| ------- | ------ | ---- | ----------- | 344| arguments | Object | 否 | 要打印的信息。| 345 346 347**示例:** 348 349```js 350console.groupCollapsed("outter"); 351// outter 352console.groupCollapsed(); 353console.log("level 1"); 354// level 1 355console.groupCollapsed("in level1"); 356// in level1 357console.log("level 2"); 358// level 2 359``` 360 361## console.groupEnd<sup>10+</sup> 362 363groupEnd(): void 364 365将后续行的缩进减少两个空格。 366 367**系统能力:** SystemCapability.Utils.Lang 368 369 370**示例:** 371 372```js 373console.log("outter"); 374// outter 375console.group(); 376console.log("level 1"); 377// level 1 378console.groupEnd(); 379console.log("outter"); 380// outter 381``` 382 383 384## console.table<sup>10+</sup> 385 386table(tableData?: Object): void 387 388以表格形式打印数据。 389 390**系统能力:** SystemCapability.Utils.Lang 391 392**参数:** 393 394| 参数名 | 类型 | 必填 | 说明 | 395| ------- | ------ | ---- | ----------- | 396| tableData | Object | 否 | 要打印为表格形式的对象。省略则无任何打印。 | 397 398**示例:** 399 400```js 401console.table([1, 2, 3]); 402// ┌─────────┬────────┐ 403// │ (index) │ Values │ 404// ├─────────┼────────┤ 405// │ 0 │ 1 │ 406// │ 1 │ 2 │ 407// │ 2 │ 3 │ 408// └─────────┴────────┘ 409 410console.table({ a: [1, 2, 3, 4, 5], b: 5, c: { e: 5 } }); 411 412// ┌─────────┬───┬───┬───┬───┬───┬───┬────────┐ 413// │ (index) │ 0 │ 1 │ 2 │ 3 │ 4 │ e │ Values │ 414// ├─────────┼───┼───┼───┼───┼───┼───┼────────┤ 415// │ a │ 1 │ 2 │ 3 │ 4 │ 5 │ │ │ 416// │ b │ │ │ │ │ │ │ 5 │ 417// │ c │ │ │ │ │ │ 5 │ │ 418// └─────────┴───┴───┴───┴───┴───┴───┴────────┘ 419``` 420 421## console.time<sup>10+</sup> 422 423time(label?: string): void 424 425启动可用于计算操作持续时间的计时器。可使用console.timeEnd()关闭计时器并打印经过的时间(单位:ms)。 426 427**系统能力:** SystemCapability.Utils.Lang 428 429**参数:** 430 431| 参数名 | 类型 | 必填 | 说明 | 432| ------- | ------ | ---- | ----------- | 433| label | string | 否 | 计时器标识。默认值为'default'。 | 434 435**示例:** 436 437```js 438console.time('abc'); 439``` 440 441## console.timeEnd<sup>10+</sup> 442 443timeEnd(label?: string): void 444 445停止之前通过调用 console.time() 启动的计时器并将打印经过的时间(单位:ms)。 446 447**系统能力:** SystemCapability.Utils.Lang 448 449**参数:** 450 451| 参数名 | 类型 | 必填 | 说明 | 452| ------- | ------ | ---- | ----------- | 453| label | string | 否 | 计时器标识。默认值为'default' | 454 455**示例:** 456 457```js 458console.time('abc'); 459console.timeEnd('abc'); 460// abc: 225.438ms 461``` 462 463## console.timeLog<sup>10+</sup> 464 465timeLog(label?: string, ...arguments: Object[]): void 466 467对于先前通过调用 console.time() 启动的计时器,打印经过时间和其他data参数。 468 469**系统能力:** SystemCapability.Utils.Lang 470 471**参数:** 472 473| 参数名 | 类型 | 必填 | 说明 | 474| ------- | ------ | ---- | ----------- | 475| label | string | 否 | 计时器标识。默认值为'default' | 476| arguments | Object | 否 | 需要打印的其他日志。 | 477 478**示例:** 479 480```js 481console.time('timer1'); 482console.timeLog('timer1', 17); 483// timer1: 365.227ms 17 484console.timeEnd('timer1'); 485// timer1: 513.22ms 486``` 487 488## console.trace<sup>10+</sup> 489 490trace(...arguments: Object[]): void 491 492打印当前堆栈。 493 494**系统能力:** SystemCapability.Utils.Lang 495 496**参数:** 497 498| 参数名 | 类型 | 必填 | 说明 | 499| ------- | ------ | ---- | ----------- | 500| arguments | Object | 否 | 需要打印的其他日志。省略则仅打印堆栈信息。| 501 502**示例:** 503 504```js 505console.trace(); 506// Trace: 507// xxxxxxxxxx(当前堆栈信息) 508console.trace("Show the trace"); 509// Trace: Show the trace 510// xxxxxxxxxx(当前堆栈信息) 511```