将布尔值转换为其字符串表示形式的最短方法(例如,“ true”)

时间:2018-07-23 14:44:51

标签: javascript

基本上,我需要将'boolean'类型的值转换为等效的字符串(truefalse),我想知道是否有比这更短(即使更慢)的方式。在做boolVal ? 'true' : 'false

那么有没有更短的方法来完成以下任务?如果有帮助,可以使用所有ES2015-2018产品:)

const boolVal = true
const boolStr = boolVal ? 'true' : 'false'

编辑:我为提出的解决方案创建了一个小型基准。 https://jsperf.com/bool-to-string-conversion

benchmark of bool to string conversion

3 个答案:

答案 0 :(得分:7)

您可以在变量上调用toString()以获得等效的字符串:

var a = true.toString();
var b = false.toString();

console.log(a, b, typeof a, typeof b);

答案 1 :(得分:2)

您可以将var AWS = require('ibm-cos-sdk'); var util = require('util'); var config = { endpoint: '<endpoint>', apiKeyId: '<api-key>', ibmAuthEndpoint: 'https://iam.ng.bluemix.net/oidc/token', serviceInstanceId: '<resource-instance-id>', }; var cos = new AWS.S3(config); function doCreateBucket() { console.log('Creating bucket'); return cos.createBucket({ Bucket: 'my-bucket', CreateBucketConfiguration: { LocationConstraint: 'us-standard' }, }).promise(); } function doCreateObject() { console.log('Creating object'); return cos.putObject({ Bucket: 'my-bucket', Key: 'foo', Body: 'bar' }).promise(); } function doDeleteObject() { console.log('Deleting object'); return cos.deleteObject({ Bucket: 'my-bucket', Key: 'foo' }).promise(); } function doDeleteBucket() { console.log('Deleting bucket'); return cos.deleteBucket({ Bucket: 'my-bucket' }).promise(); } doCreateBucket() .then(doCreateObject) .then(doDeleteObject) .then(doDeleteBucket) .then(function() { console.log('Finished!'); }) .catch(function(err) { console.error('An error occurred:'); console.error(util.inspect(err)); }); 用作函数

String()

编辑

const t = String(true) const f = String(false) console.log(t, f, typeof t, typeof f);String()

toString()

但是...如果我们不确定布尔值是否存在怎么办?

const time = 10000000

  console.time('toString')
  for(let i =0 ; i< time; i++)
    true.toString()
  console.timeEnd('toString')

  console.time('String(bool)')
  for(let i =0 ; i< time; i++)
    String(true)
  console.timeEnd('String(bool)')

答案 2 :(得分:1)

这应该有效,我认为:

boolStr = boolVal.toString()

编辑:我测试了并且可以使用。 https://jsbin.com/bapuvoqibo/edit?html,console,output

您可以查看此链接

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean/toString