基本上,我需要将'boolean'类型的值转换为等效的字符串(true
或false
),我想知道是否有比这更短(即使更慢)的方式。在做boolVal ? 'true' : 'false
?
那么有没有更短的方法来完成以下任务?如果有帮助,可以使用所有ES2015-2018产品:)
const boolVal = true
const boolStr = boolVal ? 'true' : 'false'
编辑:我为提出的解决方案创建了一个小型基准。 https://jsperf.com/bool-to-string-conversion
答案 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